Compare commits

...
Sign in to create a new pull request.

216 commits
next ... master

Author SHA1 Message Date
Kevin Figueroa
5024a54891 (Actually) octoxbps-git update to 2024.06.20 2024-07-04 10:31:15 -04:00
Kevin Figueroa
f0331f0fb0 Rebuild lightly-git 2024-07-04 10:14:39 -04:00
Kevin Figueroa
cec1e5a8a3 Update calamares to 3.3.8 2024-07-04 10:09:35 -04:00
Kevin Figueroa
f35f1857b3 Update shlibs 2024-07-04 10:08:12 -04:00
Kevin Figueroa
5bcca9507b Make lxqt-cereus replace lxqt-minimal 2024-06-28 23:01:59 -04:00
Kevin Figueroa
3ec46c5684 Add lxqt-qtplugin-legacy to LXQt metapackages dependencies 2024-06-28 23:00:47 -04:00
Kevin Figueroa
c0e6223120 New Package: lxqt-qtplugin-legacy-1.4.1_1
This is a necessary dependency for keeping Qt5 styling and file dialog with LXQt>=2.0.0
2024-06-28 22:52:35 -04:00
Kevin Figueroa
fdc084aea4 Temporarily add kpmcore template and rebuild against latest Qt
The package available in Void Linux repositories wasn't rebuilt yet. This is necessary for correct Calamares functioning.
2024-06-28 10:28:57 -04:00
Kevin Figueroa
10584b1bbb New Package: wayfire-firedecor 2024-06-24 22:32:31 -04:00
Kevin Figueroa
e9f12b44db Update xp-pen-tablet to 3.4.9-240607 2024-06-24 22:26:00 -04:00
Kevin Figueroa
d05106ae6f Sync with upstream (again) 2024-06-24 22:25:13 -04:00
Kevin Figueroa
53c39cef30 Update alttab-git to 2024.06.09 2024-06-24 22:22:38 -04:00
Kevin Figueroa
60a6a870a7 Update MEGAsync submodule 2024-06-24 22:21:18 -04:00
Kevin Figueroa
ba08f9e09d Update blesh-git to 2024.06.22 2024-06-24 22:16:04 -04:00
Kevin Figueroa
77f56288b4 Update brave-bin to 1.67.119 2024-06-24 22:08:36 -04:00
Kevin Figueroa
a6338f2652 Update dockbarx to 1.0-beta4 2024-06-24 22:00:07 -04:00
Kevin Figueroa
cb9a59ac30 Update lxqt-{cereus,minimal} to 2.0.0 2024-06-24 21:47:54 -04:00
Kevin Figueroa
8ec970c577 Update linux-mainline-cereus to 6.9 2024-06-24 21:47:02 -04:00
Kevin Figueroa
265abea619 Update lightdm-gtk-greeter-cereus to 2.0.9 2024-06-24 21:45:04 -04:00
Kevin Figueroa
c762c8bd99 Update LibreWolf to 127.0.1-1 2024-06-24 21:43:33 -04:00
Kevin Figueroa
6fa69de4f0 Update grub-cereus to 2.12 2024-06-24 21:42:16 -04:00
Kevin Figueroa
4411e6d417 Update intel-metee to 4.0.0 2024-06-24 12:46:21 -04:00
Kevin Figueroa
3f80e5d92d Update level-zero to 1.17.6 2024-06-24 12:07:31 -04:00
Kevin Figueroa
bb0684472e Update octoxbps-git to 2024.06.20 2024-06-24 09:42:23 -04:00
Kevin Figueroa
db9df2ed96 Update palemoon to 33.1.1-1 2024-06-23 17:37:41 -04:00
Kevin Figueroa
4a1a7bbe75 Update onlyoffice-desktopeditors to 8.1.0 2024-06-23 17:08:42 -04:00
Kevin Figueroa
d04f621444 Update pix to 3.4.1 2024-06-23 16:33:58 -04:00
Kevin Figueroa
2600ebfd9b Update sgnotes to 2024.04.30 2024-06-22 23:39:45 -04:00
Kevin Figueroa
f09184e4b3 Update touche to 2.0.12 2024-06-22 23:38:56 -04:00
Kevin Figueroa
0eb7876e15 Update runit-cereus to 2023.11.24 2024-06-22 23:37:00 -04:00
Kevin Figueroa
fa995f0f86 Update Tela-icon-theme to 2024.04.19 2024-06-22 10:24:15 -04:00
Kevin Figueroa
1cc721e1d9 Update vc-intrinsics to 0.18.0 2024-06-21 22:00:22 -04:00
Kevin Figueroa
fa2ba97a1b Update xviewer to 3.4.5 2024-06-21 21:59:09 -04:00
Kevin Figueroa
928da18170 Update waterfox-g6-bin to 6.0.16 2024-06-21 21:14:00 -04:00
Kevin Figueroa
3989ce51e2 Sync xbps-triggers with upstream 2024-06-21 21:06:13 -04:00
Kevin Figueroa
331a7c2565 Update xed-xapps to 3.6.3 2024-06-21 21:02:26 -04:00
Kevin Figueroa
0352338737 Update YouTube Music to 3.3.12 2024-06-21 16:25:29 -04:00
Kevin Figueroa
d5cc740a53 New Package: redshift-qt 2024-06-21 15:50:04 -04:00
Kevin Figueroa
0a5620076e Update libadwaita-without-adwaita to 1.5.1 2024-06-21 15:42:36 -04:00
Kevin Figueroa
c0ff09272f New Package: lightly-kf6-git 2024-06-21 15:41:37 -04:00
Kevin Figueroa
c3bb418ca9 Update schildichat-desktop-bin to 1.11.36.sc.3 2024-06-21 15:29:22 -04:00
Kevin Figueroa
f5a09a8be9 Correct changelog in heroic-bin template 2024-06-21 15:23:45 -04:00
Kevin Figueroa
949c59ec52 Update dockbarx-lxqt-plugin to 0.9.1 2024-06-21 15:21:49 -04:00
Kevin Figueroa
64453da419 Update cemu-bin to 2.0.86 2024-06-21 15:15:43 -04:00
Kevin Figueroa
a92fe5e2ab Minor fixes in freetube template 2024-06-21 15:05:32 -04:00
Kevin Figueroa
be70f7b16b Update calamares to 3.3.7 2024-06-20 21:20:33 -04:00
Kevin Figueroa
df8c9775c1 Sync with upstream 2024-06-20 21:19:12 -04:00
Kevin Figueroa
0b12c07c18 Update LibreWolf to 124.0.1-1 2024-04-13 13:36:46 -06:00
Kevin Figueroa
32117ee46c Update calamares to 3.3.5 2024-04-12 20:08:16 -06:00
Kevin Figueroa
923d011c99 Update shlibs 2024-04-12 02:05:56 -06:00
Kevin Figueroa
e91671c974 Remove package-only-necessary.diff 2024-04-12 02:03:49 -06:00
Kevin Figueroa
543a8571f2 Update heroic-bin to 2.14.1 2024-04-12 02:00:21 -06:00
Kevin Figueroa
e11c0b03b0 Update freetube to 0.20.0 2024-04-12 01:11:15 -06:00
Kevin Figueroa
285887cd1a Update cemu-bin to 2.0-77 2024-04-12 01:06:22 -06:00
Kevin Figueroa
5617e71c9e Correct git repository based packages fetch hook.
Now it will use the commit's tarball instead of directly cloning the latest version.
 nerd-fonts-symbols was removed as Void now provides a similar package.
2024-02-29 21:01:23 -06:00
Kevin Figueroa
5ad2e7ab37 picom-arian8j2: update to 2023.12.11 2024-02-29 19:26:00 -06:00
Kevin Figueroa
d1cae1ff5c New Package: freetube-0.19.2 2024-02-29 17:56:42 -06:00
Kevin Figueroa
8be2068cb7 YouTube Music: update to 3.3.2 2024-02-29 17:50:41 -06:00
Kevin Figueroa
fa5e421bbb picom-ftlabs: update to 2024.02.16 2024-02-29 17:48:38 -06:00
Kevin Figueroa
501e8039e4 onlyoffice-desktopeditors: update to 8.0.1 2024-02-29 17:30:20 -06:00
Kevin Figueroa
5fd01a6d84 ds4drv: change distfile to cemuhook branch 2024-02-29 17:26:33 -06:00
Kevin Figueroa
4969346713 cemu-bin: update to 2.0.66 2024-02-29 17:10:42 -06:00
Kevin Figueroa
e7c9130587 calamares: update to 3.3.4 2024-02-29 17:09:27 -06:00
Kevin Figueroa
3ec714e0c5 cereus-global-presets: update to 2024.02.20
blesh was dropped as it reduces performance under certain conditions
 Polyglot is now the the default bash prompt.
 Desktop launchers and PipeWire configs are now symlinks to system defaults.
2024-02-19 21:10:54 -06:00
Kevin Figueroa
4d10e56915 picom-git: update to 2024.02.19 2024-02-19 19:04:16 -06:00
Kevin Figueroa
398c045793 lightdm-gtk-greeter-settings-cereus: add python3-gobject-devel as make dependency 2024-02-19 19:03:27 -06:00
Kevin Figueroa
25e7f193ad brave-bin: update to 1.62.165 2024-02-19 19:02:41 -06:00
Kevin Figueroa
e569b49524 New Package: SchildiChat pt.2 2024-02-19 15:34:03 -06:00
Kevin Figueroa
d75ce26f3a New Package: schildichat-desktop-bin-1.11.30.sc.2_1 2024-02-19 15:32:45 -06:00
Kevin Figueroa
4b9487edfe New Package: sgnotes-2023.10.22_1 2024-02-16 00:13:59 -06:00
Kevin Figueroa
552c558c44 waterfox-g6-bin: update to 6.0.8 2024-02-15 21:38:04 -06:00
Kevin Figueroa
8f82520c5d xbps-triggers: sync with upstream 2024-02-15 21:37:31 -06:00
Kevin Figueroa
96db5c4665 xp-pen-tablet: correct distfile url 2024-02-15 21:36:59 -06:00
Kevin Figueroa
b3edb47c88 vc-intrinsics: update to 0.17.0 2024-02-15 21:36:14 -06:00
Kevin Figueroa
f525d155a7 xviewer: update to 3.4.4_1 2024-02-15 21:35:30 -06:00
Kevin Figueroa
48d4d5e537 New Package: cemu-bin-2.0.65_1 2024-02-15 21:06:16 -06:00
Kevin Figueroa
49249325d8 Update pix from 3.0.2_1 to 3.2.2_1 2024-02-13 01:20:36 -06:00
Kevin Figueroa
f16114c0ff Update palemoon from 32.5.0-1 to 33.0.0-1 2024-02-13 00:56:14 -06:00
Kevin Figueroa
d717e04fad Update octoxbps-git 2023.11.11_1 to 2023.12.24_1 2024-02-12 23:55:02 -06:00
Kevin Figueroa
2389cd7437 Update LibreWolf from 120.0.1-1 to 122.0-2 2024-02-12 23:39:33 -06:00
Kevin Figueroa
fa695dda6b Update libadwaita-without-adwaita from 1.4.0_1 to 1.4.3_1 2024-02-12 23:24:13 -06:00
Kevin Figueroa
055523ffd8 Update level-zero from 1.15.1_1 to 1.15.13_1 2024-02-12 23:05:54 -06:00
Kevin Figueroa
dfb15400cd Update heroic-bin from 2.12.1_1 to 2.13.0_1 2024-02-12 22:54:55 -06:00
Kevin Figueroa
2199cc97e2 Update Graphite-gtk-theme from 2023.05.17_2 to 2023.12.31_1 2024-02-12 22:47:47 -06:00
Kevin Figueroa
b13cb02833 Update flat-remix-icon-theme from 2023.06.22_1 to 2024.02.01_1 2024-02-12 22:31:51 -06:00
Kevin Figueroa
542d34f923 Sync base-files with upstream 2024-02-12 22:29:20 -06:00
Kevin Figueroa
77bcd265c9 Update budgie-extras from 1.7.0_1 to 1.8.0_1 2024-02-10 22:26:24 -06:00
Kevin Figueroa
eb8200681f Update blesh-git from 2023.11.16_1 to 2024.02.09_1 2024-02-10 22:12:36 -06:00
Kevin Figueroa
c4025a799a Remove pygtk dependency from betterlockscreen-gui 2024-02-10 21:56:56 -06:00
Kevin Figueroa
ca94e7ac07 Sync base-files with upstream
bashrc default prompt was reverted as the default prompt is very likely to be replaced in favor of Polyglot.
2024-02-10 21:44:35 -06:00
Kevin Figueroa
453421dd6e Add Cereus repositories as dependencies for base-cereustrap 2024-02-10 21:40:19 -06:00
Kevin Figueroa
5db73a4dde Make xfwm4-lxqt to no longer depend on libxfce4ui-nocsd
Upstream merged a similar feature, so the fork it's no longer needed since XFCE 4.17.4.
See: https://github.com/Xfce-Classic/libxfce4ui-nocsd/issues/16
2024-02-10 21:31:09 -06:00
Kevin Figueroa
9068b3a698 Update calamares from 3.2.62_2 to 3.3.1_1 2024-02-10 21:08:01 -06:00
Kevin Figueroa
6e8120eb97 Remove LPKG package
As LPKG is designed with Loc-OS in mind, packages, updates and requirements are also made with that in mind.
With the enough effort, it may turn into a stable experience for Cereus, but currently is a very risky experience.
So, to avoid unwanted system breakages and because of my lack of time to maintain it and a whole list with dependencies, I'm removing it.
I'm moving removed templates to a local repository which I may make public. LPKG could come back to main repository, but it isn't a priority right now.
2024-02-10 20:16:07 -06:00
Kevin Figueroa
4278fd4a6d Update xed-xapps from 3.4.4_1 to 3.4.5_1 2024-02-10 20:14:43 -06:00
Kevin Figueroa
5e1ad052ba Move os-prober-cereus to cereus-extra repository 2024-02-10 20:05:34 -06:00
Kevin Figueroa
6c3255ba40 Update onlyoffice-desktopeditors from 7.5.1_1 to 8.0.0_1 2024-02-10 20:00:50 -06:00
Kevin Figueroa
fbd7d006a7 Update brave-bin from 1.62.153_1 to 1.62.162_1 2024-02-10 19:35:19 -06:00
Kevin Figueroa
7a7c4f9428 Update kernel default and mainline metapackages version 2024-02-10 19:35:19 -06:00
Kevin Figueroa
99eea3a84b
Delete srcpkgs/lightly-git/lightly-git 2024-02-10 19:19:38 -06:00
Kevin Figueroa
688d7ee8f1 New Package: lightly-git-2023.12.29_1 2024-02-10 19:17:30 -06:00
Kevin Figueroa
f5b1769777 New Package: ds4drv-0.5.1_1 2024-02-10 19:07:36 -06:00
Kevin Figueroa
619b6af8a6 New Package: dockbarx-lxqt-plugin-0.9_1 2024-02-10 18:59:12 -06:00
Kevin Figueroa
a1a46a978a New Package: compfy-1.7.2_1
(yes, yet another Picom fork haha)
2024-02-10 18:50:57 -06:00
Kevin Figueroa
e756ed7f74 bt-dualboot: add repository variable in template 2024-02-10 18:46:16 -06:00
Kevin Figueroa
0b3cca1c2d New Package: bt-dualboot-1.0.1_1 2024-02-10 18:42:42 -06:00
Kevin Figueroa
d15b2f245c Update picom-git from 2023.10.16_1 to 2024.02.10_1 2024-02-10 18:37:24 -06:00
Kevin Figueroa
585f34fae3 Update picom-ftlabs from 2023.11.10_1 to 2024.02.09_1 2024-02-10 18:13:48 -06:00
Kevin Figueroa
7fb4db0a48 Update heroic-bin from 2.12.0_1 to 2.12.1_1 2024-02-10 18:04:49 -06:00
Kevin Figueroa
392325f77e Update alttab-git from 2023.07.29_1 to 2024.02.09_1 2024-02-10 17:49:07 -06:00
Kevin Figueroa
03dc473da4 Fix youtube-music-bin-template 2024-01-30 20:45:57 -06:00
Kevin Figueroa
03a2565a78 Update heroic-bin from 2.11.0_1 to 2.12.0_1 2024-01-30 01:38:55 -06:00
Kevin Figueroa
3d3e002fd8 Sync repository with latest upstream changes 2024-01-29 17:07:22 -06:00
Kevin Figueroa
b88f5fdc13 Update YouTube Music from 3.1.0 to 3.2.2 2024-01-29 17:04:41 -06:00
Kevin Figueroa
4e89b37f01 Update brave-bin from 1.61.101_1 to 1.62.153_1 2024-01-29 17:01:08 -06:00
Kevin Figueroa
b399aa7057 Update waterfox-g6-bin from 6.0.5_1 to 6.0.7_1 2023-12-27 23:55:49 -06:00
Kevin Figueroa
a10870f754 Update YouTube Music from 2.2.0_1 to 3.1.0_1 2023-12-27 23:52:22 -06:00
Kevin Figueroa
29fc4bb26b Update xrankmirrors from 2023.08.13_1 to 2023.12.23_1 2023-12-27 23:51:35 -06:00
Kevin Figueroa
08274556cc Correct xfce4-dockbarx-plugin license 2023-12-27 23:48:08 -06:00
KF-Art
dbde27292d Update brave-bin from 1.60.118_1 to 1.61.101_1 2023-12-11 23:40:48 -06:00
KF-Art
a5a26daa90 calamares-modules-cereus: add python3-setuptools as dependency to satisfy distutils requirement 2023-12-11 15:31:49 -06:00
KF-Art
278af3305f Enable indicators on LightDM based on Void Linux default live configuration 2023-12-10 16:21:11 -06:00
KF-Art
a24cffe849 Update LibreWolf from 120.0-1 to 120.0.1-1
- A critical issue where i686 package was actually using x86_64 distfile was corrected
- Now it uses fetch build_style to avoid extracting directly from XBPS_SRCDISTDIR
- Desktop launcher was improved
2023-12-10 15:16:35 -06:00
KF-Art
6c5b711893 Update xviewer from 3.4.1_1 to 3.4.3_1 2023-12-09 12:42:13 -06:00
KF-Art
ad269530d6 Update xed-xapps from 3.4.3_1 to 3.4.4_1 2023-12-09 12:32:56 -06:00
KF-Art
e5059b1cc9 Update heroic-bin from 2.10.0_1 to 2.11.0_1 2023-12-09 12:14:21 -06:00
KF-Art
b1c5ef30f5 Don't require lxqt-themes>=1.4.0 in LXQt metapackages as it's yet stuck in 1.3.0 2023-12-05 22:09:14 -06:00
KF-Art
21caebbee6 xfwm4-gaps: conflict again with xfwm4 to prevent them being installed at the same time. 2023-11-24 16:26:34 -05:00
KF-Art
76b9099a77 dockbarx: remove unnecesary dependency 2023-11-21 16:12:28 -05:00
KF-Art
ee864286ad Update dockbarx from 1.0.beta2 to 1.0.beta3 2023-11-21 16:09:06 -05:00
KF-Art
59b54adcde Update LibreWolf from 119.0.1-1 to 120.0-1 2023-11-21 15:58:31 -05:00
KF-Art
c7d94bfd8d Update my maintainer contact email 2023-11-19 22:04:06 -05:00
KF-Art
51b884d53b xfce4-dockbarx-plugin: remove awk from hostmakedepends 2023-11-19 21:44:21 -05:00
KF-Art
13431325c3 Remove aleta-icon-theme template 2023-11-19 21:43:04 -05:00
KF-Art
267d8e240f Update flat-remix-icon-theme from 2022.05.25_1 to 2023.06.22_1 2023-11-19 21:34:51 -05:00
KF-Art
1956c44a7b Remove calmsky-icon-theme template
The icon theme was incompleted and discontinued by the developer. If in the future he continues its development, the template will be put back.
2023-11-19 21:22:31 -05:00
KF-Art
c25cde7cd2 pixelitos-icon-theme: remove license from FILESDIR as source already provides it 2023-11-19 21:11:51 -05:00
KF-Art
ad69052334 Remove whatsdesk-git template 2023-11-19 21:10:00 -05:00
KF-Art
5c4542b19f Remove runas template 2023-11-19 21:08:32 -05:00
KF-Art
c1ae50a429 Update exiv2 shlibs 2023-11-19 21:07:49 -05:00
KF-Art
dd4e0a3976 Revert "Update exiv2 shlibs"
This reverts commit 3fb441f181.
2023-11-19 21:06:41 -05:00
KF-Art
3fb441f181 Update exiv2 shlibs 2023-11-19 21:05:30 -05:00
KF-Art
e949ccbda9 Update xviewer-plugins from 1.4.3_1 to 3.4.0_1 2023-11-19 21:02:59 -05:00
KF-Art
ba4e2a2860 Add i686 release to librewolf-bin 2023-11-19 20:56:44 -05:00
KF-Art
1441a9a6fe Update xviewer from 3.2.12_1 to 3.4.1_1 2023-11-19 20:55:38 -05:00
KF-Art
f1f247a042 Add pix-devel symlink 2023-11-19 20:55:14 -05:00
KF-Art
b4f6a830ac xfwm4-lxqt: remove awk from hostmakedepends 2023-11-19 20:45:53 -05:00
KF-Art
abfec20528 Update xed-xapps from 3.2.8_1 to 3.4.3_1 2023-11-19 20:44:07 -05:00
KF-Art
2ae81bba28 Update xbps-triggers to 0.124_1 to 0.126_1 2023-11-19 20:39:20 -05:00
KF-Art
3a7e1ac4a0 Update igsc from 0.8.9_1 to 0.8.16_1 2023-11-19 20:38:05 -05:00
KF-Art
6348a5a144 Update pix from 2.8.9_2 to 3.0.2_1 2023-11-19 20:22:35 -05:00
KF-Art
4f9a28f834 touchegg-gce: remove awk from hostmakedepends 2023-11-19 19:58:40 -05:00
KF-Art
1dba15b5a2 Update level-zero from 1.10.0_1 to 1.15.1_1 2023-11-19 19:37:59 -05:00
KF-Art
f5a4d376d2 Update intel-metee from 3.1.5_1 to 3.2.4_1 2023-11-19 19:33:37 -05:00
KF-Art
3166b38d80 Update budgie-extras from 1.6.0_1 to 1.7.0_1 2023-11-19 19:26:21 -05:00
KF-Art
8336f0088e Update brave-bin from 1.50.121_1 to 1.60.118_1 2023-11-19 19:16:47 -05:00
KF-Art
d8ad04e1b0 Update blesh-git from 2023.04.18_1 to 2023.11.16_1 and make it replace blesh 2023-11-19 19:07:54 -05:00
KF-Art
efdc2645f7 Update alttab-git from 2023.03.19_1 to 2023.07.29_1 2023-11-19 18:59:11 -05:00
KF-Art
883a7393a3 Update YouTube Music from 1.20.0_1 to 2.2.0_1 2023-11-19 18:45:37 -05:00
KF-Art
25060f1bd4 Update xrankmirrors from 2023.05.31_1 to 2023.08.13_1 2023-11-19 18:28:12 -05:00
KF-Art
65261012a2 Some corrections for xp-pen-tablet template and INSTALL script 2023-11-19 18:24:09 -05:00
KF-Art
977c6a3eeb xp-pen-tablet: typo fix in license 2023-11-19 16:09:44 -05:00
KF-Art
90a1573088 Update xp-pen-tablet from 3.2.3.230215_1 to 3.4.9.231023_1
License was changed to custom:Propietary as it now includes an EULA which explicitly indicates that redistribution and/or modifying is not permitted. The LGPL license file on previous versions was only referring to the bundled Qt5 libraries, not the software itself. This was made clear with the inclusion of ThirdPartyLibraries.html file.

In consequence, any package of this software in cereus-extra's mirrors will be removed ASAP. Repository was changed to nonfree in the template (this is the first propietary package to be included here, so it is unnecesary to use 'cereus-nonfree').

The glibc containerized package for musl (xp-pen-tablet-musl) will be temporarily removed as the current install method does not longer work (it downloads the package from cereus-extra/x86_64) so it has to be redo.
2023-11-19 15:22:48 -05:00
KF-Art
068094c620 Make xfwm4-gaps replace xfwm4 in order to make it easier to install it
(It still conflicts with xfwm4-lxqt as this one already ships the gaps patch, so is unnecesary to install it).
2023-11-18 23:33:43 -05:00
KF-Art
783f9c2423 New Package: waterfox-g6-bin-6.0.5_1 2023-11-18 23:14:12 -05:00
KF-Art
bcf6d18b18 Update waterfox-g5-bin from 5.1.5_1 to 5.1.13_1 2023-11-18 23:09:51 -05:00
KF-Art
57b09ba37e Update vc-intrinsics from 0.12.3_1 to 0.14.0_1 2023-11-18 22:24:38 -05:00
KF-Art
430a1517ba urxvt-tabbedex: remove license from FILESDIR as source already provides it 2023-11-18 22:18:57 -05:00
KF-Art
1658ac318f Update touche from 2.0.9_1 to 2.0.11_1 2023-11-18 22:14:36 -05:00
KF-Art
e5c0c7b54f Update Tela-icon-theme from 2023.02.03_1 to 2023.06.25_1 2023-11-18 22:05:34 -05:00
KF-Art
2f387a7e05 Correct linux-{legacy,mainline}-cereus headers description 2023-11-18 21:02:16 -05:00
KF-Art
d850517d75 Update reversal-icon-theme from 2023.04.26_1 to 2023.05.13_1 2023-11-18 20:52:48 -05:00
KF-Art
5d9224b208 Update qelectrotech 0.8.0_1 to 0.9_1 2023-11-18 20:51:35 -05:00
KF-Art
29f19c2bde powerline-status: rebuild for Python 3.12 2023-11-18 18:16:53 -05:00
KF-Art
e0806b87c8 Update polyglot-prompt from 1.13.0_1 to 1.14.0_1 2023-11-18 00:15:42 -05:00
KF-Art
b52b757b5c pixelitos-icon-theme: remove license file from FILESDIR as the source repository already provides it. 2023-11-18 00:11:23 -05:00
KF-Art
d3e841016f Update pixelitos-icon-theme from 2022.06.07_1 to 2023.07.31_1 2023-11-18 00:08:44 -05:00
KF-Art
cbb318eda9 Update picom-jonaburg-fix description to be a bit more specific 2023-11-18 00:03:54 -05:00
KF-Art
9ef4625301 Revert "Update picom-jonaburg-fix description"
This reverts commit 75584960e2.
2023-11-18 00:02:53 -05:00
KF-Art
75584960e2 Update picom-jonaburg-fix description 2023-11-18 00:01:10 -05:00
KF-Art
848817c37e picom-arian8j2: revert revision number as binary package wasn't uploaded to repositories yet. 2023-11-17 23:59:49 -05:00
KF-Art
0cf045b733 Update picom-git from 2023.05.08_1 to 2023.10.16_1 2023-11-17 23:59:09 -05:00
KF-Art
b99d08373d New Package: picom-ftlabs-2023.11.10_1 and update picom-arian8j2
(Yes, yet another picom fork with animations haha)
2023-11-17 21:57:51 -05:00
KF-Art
df6f4f2fd2 Update pasystray-git from 2023.02.10_1 to 2023.08.26_1 2023-11-14 17:20:35 -05:00
KF-Art
a542171d0c Update palemoon from 32.1.1_1 to 32.5.0.1_1
Like I did with LibreWolf, now release number was incorporated at the end of version.
2023-11-14 17:12:29 -05:00
KF-Art
497ae16ca7 Update onlyoffice-desktopeditors from 7.3.3_1 to 7.5.1_1 2023-11-14 16:53:13 -05:00
KF-Art
fab2e71932 Update octoxbps-git from 2023.03.04_1 to 2023.11.11_1
- A brand new experimental Spanish translation was added.
2023-11-14 16:34:18 -05:00
KF-Art
a41587d52d Move cereus-neofetch custom branding to a patch
Using a patch instead of replacing the whole script will allow us to update the package more easily.
2023-11-14 14:40:00 -05:00
KF-Art
276306e8f9 Sync common folder with upstream changes 2023-11-13 22:01:18 -05:00
KF-Art
b98d40feaa Update LXQt metapackages from 1.3.0 to 1.4.0 2023-11-13 21:54:40 -05:00
KF-Art
f89d04d3f3 oblogout: rebuild for Python 3.12 2023-11-12 23:38:46 -05:00
KF-Art
973a37f67b base-cereus: minimal typographic fix on template 2023-11-12 21:31:49 -05:00
KF-Art
f346ecebdf Update lxqt-minimal from 1.2.0_1 to 1.3.0_1
Now it replaces lxqt-cereus to let users have a more minimal lxqt setup.
2023-11-12 21:30:35 -05:00
KF-Art
6172d9d711 Update lxqt-cereus from 1.2.0_1 to 1.3.0_1 2023-11-12 21:28:14 -05:00
KF-Art
c11264e1a5 Add new kernel branches metapackages
Users now will be able to install an older LTS kernel for older hardware (linux-legacy-cereus),
and the current mainline kernel for newer hardware and features (linux-mainline-cereus).

The legacy metapackage now will be the default for i686 setups,
while x86_64 remains using the latest LTS kernel.
2023-11-12 21:04:01 -05:00
KF-Art
08f5110b45 Sync lightdm-gtk3-greeter and lightdm-gtk-greeter-settings with upstream templates 2023-11-12 20:42:52 -05:00
KF-Art
75a4395d78 Update LibreWolf from 111.0 to 119.0.1-1
Now revision number is added at the end of version (it uses a dot as XBPS doesn't allow hyphens in version string).
2023-11-12 20:37:44 -05:00
KF-Art
3b24945dd3 Add libadwaita-without-adwaita to virtual packages. 2023-11-12 20:29:08 -05:00
KF-Art
309febe73e Update libadwaita-without-adwaita from 1.3.1_1 to 1.4.0_1
Now it replaces libadwaita, so you can install it without ignoring libadwaita first.
2023-11-12 20:18:25 -05:00
KF-Art
942faffe77 Update ilustraciones-icon-theme from 2022.09.17_1 to 2023.04.06_1 2023-11-12 20:01:39 -05:00
KF-Art
5ecb31583b Update heroic-bin from 2.8.0_1 to 2.10.0_1 2023-11-12 19:53:31 -05:00
KF-Art
cb1f20e46d Sync grub-cereus with upstream template and patches 2023-11-12 19:20:25 -05:00
KF-Art
069fd4fa76 Make Graphite GTK theme to use the normal sidebar
This is because the new sidebar design lacks good text contrast in most variants, which reduces readability.
2023-11-12 19:10:34 -05:00
KF-Art
18a006cf7a Update gpu-video-wallpaper patch file 2023-11-12 19:07:49 -05:00
KF-Art
7f278bc205 Update gpu-video-wallpaper from 2022.02.23_1 to 2023.07.11_1 2023-11-12 18:53:09 -05:00
KF-Art
b4dea1080e Update Calamares shlibs 2023-11-12 17:26:37 -05:00
KF-Art
2257482026 Calamares: rebuild for Python 3.12 2023-11-12 17:00:06 -05:00
KF-Art
896c304841 Sync CONTRIBUTING.md with upstream (it will be customized for Cereus soon) 2023-11-12 16:16:38 -05:00
KF-Art
2749e98ca9 Sync README.md with upstream 2023-11-12 16:13:24 -05:00
KF-Art
55082610d9 Import upstream in Manual.md 2023-11-12 16:10:34 -05:00
KF-Art
bdc984ec99 Import upstream in defaults.virtual 2023-11-12 16:08:58 -05:00
KF-Art
b697462e4c Import upstream in common 2023-11-12 16:04:24 -05:00
KF-Art
10924cb352 Update runit-cereus & base-files importing changes from upstream 2023-11-12 00:03:29 -05:00
Kevin Figueroa
23a2fb1d30
Update manual_check_cycles.yml 2023-06-01 12:48:38 -04:00
Kevin Figueroa
02da529e91
Update void container at cycles.yml 2023-06-01 12:46:00 -04:00
Kevin Figueroa
f8ab16bc2a
Merge pull request #7 from CereusLinuxProject/next
Merge upstream changes from void-packages
2023-06-01 12:40:30 -04:00
304 changed files with 7222 additions and 8696 deletions

View file

@ -10,7 +10,7 @@ jobs:
permissions: permissions:
issues: write issues: write
container: container:
image: 'ghcr.io/void-linux/xbps-src-masterdir:20220527RC01-x86_64-musl' image: 'ghcr.io/void-linux/xbps-src-masterdir:20230425RC01-x86_64-musl'
steps: steps:
- name: Prepare container - name: Prepare container
run: | run: |

View file

@ -8,7 +8,7 @@ jobs:
permissions: permissions:
issues: write issues: write
container: container:
image: 'ghcr.io/void-linux/xbps-src-masterdir:20220527RC01-x86_64-musl' image: 'ghcr.io/void-linux/xbps-src-masterdir:20230425RC01-x86_64-musl'
steps: steps:
- name: Prepare container - name: Prepare container
run: | run: |

22
.gitignore vendored
View file

@ -2,13 +2,23 @@
*.swp *.swp
*~ *~
\#*# \#*#
*.o
masterdir* # exclude everything in root except files and directories from void-packages
hostdir* /*
masterdir*/ !/.gitattributes
hostdir*/ !/.github
!/.gitignore
!/.mailmap
!/CONTRIBUTING.md
!/COPYING
!/Manual.md
!/README.md
!/common
!/etc
!/srcpkgs
!/xbps-src
etc/conf etc/conf
etc/conf.* etc/conf.*
etc/virtual etc/virtual
etc/xbps.d/custom etc/xbps.d/custom
.xbps-checkvers*.plist etc/repo-keys

View file

@ -20,6 +20,7 @@ while not meeting any of the following requirements, is a good candidate for the
In particular, new themes are highly unlikely to be accepted. In particular, new themes are highly unlikely to be accepted.
Simple shell scripts are unlikely to be accepted unless they provide considerable value to a broad user base. Simple shell scripts are unlikely to be accepted unless they provide considerable value to a broad user base.
New fonts may be accepted if they provide value beyond aesthetics (e.g. they contain glyphs for a script missing in already packaged fonts). New fonts may be accepted if they provide value beyond aesthetics (e.g. they contain glyphs for a script missing in already packaged fonts).
Packages related to cryptocurrencies (wallets, miners, nodes, etc) are not accepted.
Browser forks, including those based on Chromium and Firefox, are generally not accepted. Browser forks, including those based on Chromium and Firefox, are generally not accepted.
Such forks require heavy patching, maintenance and hours of build time. Such forks require heavy patching, maintenance and hours of build time.
@ -81,6 +82,29 @@ The checksum can be updated automatically with the `xgensum` helper from the [xt
$ xgensum -i <pkgname> $ xgensum -i <pkgname>
### Adopting a template
If a template is orphaned (maintained by `orphan@voidlinux.org`) or the current `maintainer` has not contributed to
Void in over a year, template maintainership can be adopted by someone else. To ensure a template gets the care it needs,
template adopters should be familiar with the package and have an established history of contributions to Void.
Those who have contributed several updates, especially for the template in question, are good candidates for template
maintainership.
It is best to adopt a template when making another change to it. When adopting the template, add your name or username
and email to the `maintainer` field in the template, and mention the adoption in your commit message, for example:
libfoo: update to 1.2.3, adopt.
### Orphaning a template
If you no longer wish to maintain a template, you can remove yourself as maintainer by setting the `maintainer` field in
the template to `Orphaned <orphan@voidlinux.org>`. The commit message should mention this, for example:
libfoo: orphan.
It is not necessary to make other changes to the template when orphaning, and incrementing the revision (triggering a
rebuild) is not necessary either.
### Committing your changes ### Committing your changes
After making your changes, please check that the package builds successfully. From the top level directory of your local copy of the `void-packages` repository, run: After making your changes, please check that the package builds successfully. From the top level directory of your local copy of the `void-packages` repository, run:

View file

@ -1,5 +1,5 @@
Copyright (c) 2008-2020 Juan Romero Pardines and contributors Copyright (c) 2008-2020 Juan Romero Pardines and contributors
Copyright (c) 2017-2023 The Void Linux team and contributors Copyright (c) 2017-2024 The Void Linux team and contributors
All rights reserved. All rights reserved.
Redistribution and use in source and binary forms, with or without Redistribution and use in source and binary forms, with or without

222
Manual.md
View file

@ -5,6 +5,7 @@ packages for XBPS, the `Void Linux` native packaging system.
*Table of Contents* *Table of Contents*
* The XBPS source packages manual
* [Introduction](#Introduction) * [Introduction](#Introduction)
* [Package build phases](#buildphase) * [Package build phases](#buildphase)
* [Package naming conventions](#namingconventions) * [Package naming conventions](#namingconventions)
@ -27,13 +28,13 @@ packages for XBPS, the `Void Linux` native packaging system.
* [Build helper scripts](#build_helper) * [Build helper scripts](#build_helper)
* [Functions](#functions) * [Functions](#functions)
* [Build options](#build_options) * [Build options](#build_options)
* [Runtime dependencies](#deps_runtime)
* [INSTALL and REMOVE files](#install_remove_files) * [INSTALL and REMOVE files](#install_remove_files)
* [INSTALL.msg and REMOVE.msg files](#install_remove_files_msg) * [INSTALL.msg and REMOVE.msg files](#install_remove_files_msg)
* [Creating system accounts/groups at runtime](#runtime_account_creation) * [Creating system accounts/groups at runtime](#runtime_account_creation)
* [Writing runit services](#writing_runit_services) * [Writing runit services](#writing_runit_services)
* [32bit packages](#32bit_pkgs) * [32bit packages](#32bit_pkgs)
* [Subpackages](#pkgs_sub) * [Subpackages](#pkgs_sub)
* [Some package classes](#pkgs_classes)
* [Development packages](#pkgs_development) * [Development packages](#pkgs_development)
* [Data packages](#pkgs_data) * [Data packages](#pkgs_data)
* [Documentation packages](#pkgs_documentation) * [Documentation packages](#pkgs_documentation)
@ -61,7 +62,6 @@ packages for XBPS, the `Void Linux` native packaging system.
* [kernel-hooks](#triggers_kernel_hooks) * [kernel-hooks](#triggers_kernel_hooks)
* [mimedb](#triggers_mimedb) * [mimedb](#triggers_mimedb)
* [mkdirs](#triggers_mkdirs) * [mkdirs](#triggers_mkdirs)
* [openjdk-profile](#triggers_openjdk_profile)
* [pango-modules](#triggers_pango_module) * [pango-modules](#triggers_pango_module)
* [pycompile](#triggers_pycompile) * [pycompile](#triggers_pycompile)
* [register-shell](#triggers_register_shell) * [register-shell](#triggers_register_shell)
@ -76,7 +76,7 @@ packages for XBPS, the `Void Linux` native packaging system.
* [Help](#help) * [Help](#help)
<a id="Introduction"></a> <a id="Introduction"></a>
## Introduction ### Introduction
The `void-packages` repository contains all the The `void-packages` repository contains all the
recipes to download, compile and build binary packages for Void Linux. recipes to download, compile and build binary packages for Void Linux.
@ -316,7 +316,7 @@ The following functions are defined by `xbps-src` and can be used on any templat
`${FILESDIR}/$service`, containing `exec vlogger -t $service -p $facility`. `${FILESDIR}/$service`, containing `exec vlogger -t $service -p $facility`.
if a second argument is not specified, the `daemon` facility is used. if a second argument is not specified, the `daemon` facility is used.
For more information about `vlogger` and available values for the facility, For more information about `vlogger` and available values for the facility,
see [vlogger(1)](https://man.voidlinux.org/vlogger.1). see [vlogger(8)](https://man.voidlinux.org/vlogger.8).
- *vsed()* `vsed -i <file> -e <regex>` - *vsed()* `vsed -i <file> -e <regex>`
@ -335,6 +335,29 @@ 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`, it will default to `pkgname`. The `shell` argument can be one of `bash`,
`fish` or `zsh`. `fish` or `zsh`.
- *vextract()* `[-C <target directory>] [--no-strip-components|--strip-components=<n>] <file>`
Extracts `file` to `target directory` with `n` directory components stripped. If
`target directory` not specified, defaults to the working directory. If
`--strip-components` or `--no-strip-components` is not specified, defaults to
`--strip-components=1`.
- *vsrcextract()* `[-C <target directory>] [--no-strip-components|--strip-components=<n>] <file>`
Extracts `$XBPS_SRCDISTDIR/$pkgname-$version/<file>` to `target directory`
with `n` directory components stripped. If `target directory` not specified,
defaults to the working directory. If `--strip-components` or `--no-strip-components`
is not specified, defaults to `--strip-components=1`.
This is useful when used in conjunction with `skip_extraction` and for submodule distfiles.
- *vsrccopy()* `<file>... <target>`
Copies `file`s from `$XBPS_SRCDISTDIR/$pkgname-$version/` into the `target` directory,
creating `target` if it does not exist.
This is useful when used in conjunction with `skip_extraction`.
> Shell wildcards must be properly quoted, Example: `vmove "usr/lib/*.a"`. > Shell wildcards must be properly quoted, Example: `vmove "usr/lib/*.a"`.
<a id="global_vars"></a> <a id="global_vars"></a>
@ -440,8 +463,8 @@ the generated `binary packages` have been modified.
- `version` A string with the package version. Must not contain dashes or underscore - `version` A string with the package version. Must not contain dashes or underscore
and at least one digit is required. Shell's variable substitution usage is not allowed. and at least one digit is required. Shell's variable substitution usage is not allowed.
Neither `pkgname` or `version` should contain special characters which make it `pkgname` and `version` are forbidden to contain special characters. Hence, they don't
necessary to quote them, so they shouldn't be quoted in the template. need to be quoted, and by convention, they shouldn't be.
<a id="optional_vars"></a> <a id="optional_vars"></a>
#### Optional variables #### Optional variables
@ -736,9 +759,9 @@ built for, available architectures can be found under `common/cross-profiles`.
In general, `archs` should only be set if the upstream software explicitly targets In general, `archs` should only be set if the upstream software explicitly targets
certain architectures or there is a compelling reason why the software should not be certain architectures or there is a compelling reason why the software should not be
available on some supported architectures. available on some supported architectures.
Prepending pattern with tilde means disallowing build on indicated archs. Prepending a pattern with a tilde means disallowing build on the indicated archs.
First matching pattern is taken to allow/deny build. When no pattern matches, The first matching pattern is taken to allow/deny build. When no pattern matches,
package is build if last pattern includes tilde. the package is built if the last pattern includes a tilde.
Examples: Examples:
``` ```
@ -787,20 +810,65 @@ should be listed in `checkdepends` and will be installed as if they were part of
a D-Bus session for applications that need it a D-Bus session for applications that need it
- `git`: some test suites run the `git` command - `git`: some test suites run the `git` command
<a id="deps_runtime"></a>
Lastly, a package may require certain dependencies at runtime, without which it Lastly, a package may require certain dependencies at runtime, without which it
is unusable. These dependencies, when they aren't detected automatically by is unusable. These dependencies, when they aren't detected automatically by
XBPS, should be listed in `depends`. This is mostly relevant for Perl and Python XBPS, should be listed in `depends`.
modules and other programs that use `dlopen(3)` instead of dynamically linking.
Libraries linked by ELF objects are detected automatically by `xbps-src`, hence they
must not be specified in templates via `depends`. This variable should list:
- executables called as separate processes.
- ELF objects using dlopen(3).
- non-object code, e.g. C headers, perl/python/ruby/etc modules.
- data files.
- overriding the minimal version specified in the `common/shlibs` file.
The runtime dependencies for ELF objects are detected by checking which SONAMEs
they require and then the SONAMEs are mapped to a binary package name with a minimal
required version. The `common/shlibs` file
sets up the `<SONAME> <pkgname>>=<version>` mappings.
For example the `foo-1.0_1` package provides the `libfoo.so.1` SONAME and
software requiring this library will link to `libfoo.so.1`; the resulting binary
package will have a run-time dependency on `foo>=1.0_1` package as specified in
`common/shlibs`:
```
# common/shlibs
...
libfoo.so.1 foo-1.0_1
...
```
- The first field specifies the SONAME.
- The second field specified the package name and minimal version required.
- A third optional field (usually set to `ignore`) can be used to skip checks in soname bumps.
Dependencies declared via `depends` are not installed to the master directory, rather they are
only checked if they exist as binary packages, and are built automatically by `xbps-src` if
the specified version is not in the local repository.
As a special case, `virtual` dependencies may be specified as runtime dependencies in the
`depends` template variable. Several different packages can provide common functionality by
declaring a virtual name and version in the `provides` template variable (e.g.
`provides="vpkg-0.1_1"`). Packages that rely on the common functionality without concern for the
specific provider can declare a dependency on the virtual package name with the prefix `virtual?`
(e.g., `depends="virtual?vpkg-0.1_1"`). When a package is built by `xbps-src`, providers for any
virtual packages will be confirmed to exist and will be built if necessary. A map from virtual
packages to their default providers is defined in `etc/defaults.virtual`. Individual mappings can be
overridden by local preferences in `etc/virtual`. Comments in `etc/defaults.virtual` provide more
information on this map.
Finally, as a general rule, if a package is built the exact same way whether or Finally, as a general rule, if a package is built the exact same way whether or
not a particular package is present in `makedepends` or `hostmakedepends`, that not a particular package is present in `makedepends` or `hostmakedepends`, that
package shouldn't be added as a build time dependency. package shouldn't be added as a build time dependency.
<a id="repositories"></a> <a id="repositories"></a>
#### Repositories ### Repositories
<a id="repo_by_branch"></a> <a id="repo_by_branch"></a>
##### Repositories defined by Branch #### Repositories defined by Branch
The global repository takes the name of The global repository takes the name of
the current branch, except if the name of the branch is master. Then the resulting the current branch, except if the name of the branch is master. Then the resulting
@ -808,17 +876,19 @@ repository will be at the global scope. The usage scenario is that the user can
update multiple packages in a second branch without polluting his local repository. update multiple packages in a second branch without polluting his local repository.
<a id="pkg_defined_repo"></a> <a id="pkg_defined_repo"></a>
##### Package defined Repositories #### Package defined Repositories
The second way to define a repository is by setting the `repository` variable in The second way to define a repository is by setting the `repository` variable in
a template. This way the maintainer can define repositories for a specific a template. This way the maintainer can define repositories for a specific
package or a group of packages. This is currently used to distinguish between package or a group of packages. This is currently used to distinguish between
closed source packages, which are put in the `nonfree` repository and other certain classes of packages.
packages which are at the root-repository.
The following repository names are valid: The following repository names are valid:
* `nonfree`: Repository for closed source packages. * `bootstrap`: Repository for xbps-src-specific packages.
* `debug`: Repository for packages containing debug symbols. In almost all cases,
these packages are generated automatically.
* `nonfree`: Repository for packages that are closed source or have nonfree licenses.
<a id="updates"></a> <a id="updates"></a>
### Checking for new upstream releases ### Checking for new upstream releases
@ -859,6 +929,10 @@ in url. Defaults to `(|v|$pkgname)[-_.]*`.
part that follows numeric part of version directory part that follows numeric part of version directory
in url. Defaults to `(|\.x)`. in url. Defaults to `(|\.x)`.
- `disabled` can be set to disable update checking for the package,
in cases where checking for updates is impossible or does not make sense.
This should be set to a string describing why it is disabled.
<a id="patches"></a> <a id="patches"></a>
### Handling patches ### Handling patches
@ -995,13 +1069,11 @@ system. Additional arguments may be passed to the `zig build` invocation using
For packages that use the Python module build method (`setup.py` or For packages that use the Python module build method (`setup.py` or
[PEP 517](https://www.python.org/dev/peps/pep-0517/)), you can choose one of the following: [PEP 517](https://www.python.org/dev/peps/pep-0517/)), you can choose one of the following:
- `python-module` to build *both* Python 2.x and 3.x modules - `python2-module` to build Python 2.x modules
- `python2-module` to build Python 2.x only modules - `python3-module` to build Python 3.x modules
- `python3-module` to build Python 3.x only modules - `python3-pep517` to build Python 3.x modules that provide a PEP 517 build description without
- `python3-pep517` to build Python 3.x only modules that provide a PEP 517 build description without
a `setup.py` script a `setup.py` script
Environment variables for a specific `build_style` can be declared in a filename Environment variables for a specific `build_style` can be declared in a filename
@ -1020,8 +1092,7 @@ suitable environment for working with certain sets of packages.
The current list of available `build_helper` scripts is the following: The current list of available `build_helper` scripts is the following:
- `rust` specifies environment variables required for cross-compiling crates via cargo and - `cmake-wxWidgets-gtk3` sets the `WX_CONFIG` variable which is used by FindwxWidgets.cmake
for compiling cargo -sys crates.
- `gir` specifies dependencies for native and cross builds to deal with - `gir` specifies dependencies for native and cross builds to deal with
GObject Introspection. The following variables may be set in the template to handle GObject Introspection. The following variables may be set in the template to handle
@ -1031,6 +1102,20 @@ additional paths to be searched when linking target binaries to be introspected.
`qemu-<target_arch>-static` when running the target binary. You can for example specify `qemu-<target_arch>-static` when running the target binary. You can for example specify
`GIR_EXTRA_OPTIONS="-strace"` to see a trace of what happens when running that binary. `GIR_EXTRA_OPTIONS="-strace"` to see a trace of what happens when running that binary.
- `meson` creates a cross file, `${XBPS_WRAPPERDIR}/meson/xbps_meson.cross`, which configures
meson for cross builds. This is particularly useful for building packages that wrap meson
invocations (e.g., `python3-pep517` packages that use a meson backend) and is added by default
for packages that use the `meson` build style.
- `numpy` configures the environment for cross-compilation of python packages that provide
compiled extensions linking to NumPy C libraries. If the `meson` build helper is also
configured, a secondary cross file, `${XBPS_WRAPPERDIR}/meson/xbps_numpy.cross`, will be
written to inform meson where common NumPy components may be found.
- `python3` configures the cross-build environment to use Python libraries, header files, and
interpreter configurations in the target root. The `python3` helper is added by default for
packages that use the `python3-module` or `python3-pep517` build styles.
- `qemu` sets additional variables for the `cmake` and `meson` build styles to allow - `qemu` sets additional variables for the `cmake` and `meson` build styles to allow
executing cross-compiled binaries inside qemu. executing cross-compiled binaries inside qemu.
It sets `CMAKE_CROSSCOMPILING_EMULATOR` for cmake and `exe_wrapper` for meson It sets `CMAKE_CROSSCOMPILING_EMULATOR` for cmake and `exe_wrapper` for meson
@ -1044,7 +1129,9 @@ This aims to fix cross-builds for when the build-style is mixed: e.g. when in a
`gnu-configure` style the configure script calls `qmake` or a `Makefile` in `gnu-configure` style the configure script calls `qmake` or a `Makefile` in
`gnu-makefile` style, respectively. `gnu-makefile` style, respectively.
- `cmake-wxWidgets-gtk3` sets the `WX_CONFIG` variable which is used by FindwxWidgets.cmake - `rust` specifies environment variables required for cross-compiling crates via cargo and
for compiling cargo -sys crates. This helper is added by default for packages that use the
`cargo` build style.
<a id="functions"></a> <a id="functions"></a>
### Functions ### Functions
@ -1160,6 +1247,11 @@ package accordingly. Additionally, the following functions are available:
Outputs `-D<property>=true` if the option is set, or Outputs `-D<property>=true` if the option is set, or
`-D<property>=false` otherwise. `-D<property>=false` otherwise.
- *vopt_feature()* `vopt_feature <option> <property>`
Same as `vopt_bool`, but uses `-D<property=enabled` and
`-D<property>=disabled` respectively.
The following example shows how to change a source package that uses GNU The following example shows how to change a source package that uses GNU
configure to enable a new build option to support PNG images: configure to enable a new build option to support PNG images:
@ -1216,52 +1308,6 @@ Example: `XBPS_PKG_OPTIONS_xorg_server=opt`.
The list of supported package build options and its description is defined in the The list of supported package build options and its description is defined in the
`common/options.description` file. `common/options.description` file.
<a id="deps_runtime"></a>
#### Runtime dependencies
Dependencies for ELF objects are detected automatically by `xbps-src`, hence runtime
dependencies must not be specified in templates via `$depends` with the following exceptions:
- ELF objects using dlopen(3).
- non ELF objects, i.e perl/python/ruby/etc modules.
- Overriding the minimal version specified in the `shlibs` file.
The runtime dependencies for ELF objects are detected by checking which SONAMEs
they require and then the SONAMEs are mapped to a binary package name with a minimal
required version. The `shlibs` file in the `void-packages/common` directory
sets up the `<SONAME> <pkgname>>=<version>` mappings.
For example the `foo-1.0_1` package provides the `libfoo.so.1` SONAME and
software requiring this library will link to `libfoo`; the resulting binary
package will have a run-time dependency to `foo>=1.0_1` package as specified in
`common/shlibs`:
```
# common/shlibs
...
libfoo.so.1 foo-1.0_1
...
```
- The first field specifies the SONAME.
- The second field specified the package name and minimal version required.
- A third optional field (usually set to `ignore`) can be used to skip checks in soname bumps.
Dependencies declared via `${depends}` are not installed to the master directory, rather are
only checked if they exist as binary packages, and are built automatically by `xbps-src` if
the specified version is not in the local repository.
As a special case, `virtual` dependencies may be specified as runtime dependencies in the
`${depends}` template variable. Several different packages can provide common functionality by
declaring a virtual name and version in the `${provides}` template variable (e.g.,
`provides="vpkg-0.1_1"`). Packages that rely on the common functionality without concern for the
specific provider can declare a dependency on the virtual package name with the prefix `virtual?`
(e.g., `depends="virtual?vpkg-0.1_1"`). When a package is built by `xbps-src`, providers for any
virtual packages will be confirmed to exist and will be built if necessary. A map from virtual
packages to their default providers is defined in `etc/defaults.virtual`. Individual mappings can be
overridden by local preferences in `etc/virtual`. Comments in `etc/defaults.virtual` provide more
information on this map.
<a id="install_remove_files"></a> <a id="install_remove_files"></a>
### INSTALL and REMOVE files ### INSTALL and REMOVE files
@ -1317,6 +1363,8 @@ Ideally those files should not exceed 80 chars per line.
subpackages can also have their own `INSTALL.msg` and `REMOVE.msg` files, simply create them subpackages can also have their own `INSTALL.msg` and `REMOVE.msg` files, simply create them
as `srcpkgs/<pkgname>/<subpkg>.INSTALL.msg` or `srcpkgs/<pkgname>/<subpkg>.REMOVE.msg` respectively. as `srcpkgs/<pkgname>/<subpkg>.INSTALL.msg` or `srcpkgs/<pkgname>/<subpkg>.REMOVE.msg` respectively.
This should only be used for critical messages, like warning users of breaking changes.
<a id="runtime_account_creation"></a> <a id="runtime_account_creation"></a>
### Creating system accounts/groups at runtime ### Creating system accounts/groups at runtime
@ -1478,8 +1526,11 @@ destdir (`$DESTDIR`) to the `subpackage` destdir (`$PKGDESTDIR`).
Subpackages are processed always in alphabetical order; To force a custom order, Subpackages are processed always in alphabetical order; To force a custom order,
the `subpackages` variable can be declared with the wanted order. the `subpackages` variable can be declared with the wanted order.
<a id="pkgs_classes"></a>
### Some package classes
<a id="pkgs_development"></a> <a id="pkgs_development"></a>
### Development packages #### Development packages
A development package, commonly generated as a subpackage, shall only contain A development package, commonly generated as a subpackage, shall only contain
files required for development, that is, headers, static libraries, shared files required for development, that is, headers, static libraries, shared
@ -1509,7 +1560,7 @@ following subset of files from the main package:
* Vala bindings `usr/share/vala` * Vala bindings `usr/share/vala`
<a id="pkgs_data"></a> <a id="pkgs_data"></a>
### Data packages #### Data packages
Another common subpackage type is the `-data` subpackage. This subpackage Another common subpackage type is the `-data` subpackage. This subpackage
type used to split architecture independent, big(ger) or huge amounts type used to split architecture independent, big(ger) or huge amounts
@ -1521,7 +1572,7 @@ The main package must then have `depends="${pkgname}-data-${version}_${revision}
possibly in addition to other, non-automatic depends. possibly in addition to other, non-automatic depends.
<a id="pkgs_documentation"></a> <a id="pkgs_documentation"></a>
### Documentation packages #### Documentation packages
Packages intended for user interaction do not always unconditionally require Packages intended for user interaction do not always unconditionally require
their documentation part. A user who does not want to e.g. develop their documentation part. A user who does not want to e.g. develop
@ -1536,7 +1587,7 @@ amounts of documentation for no reason. Thus the size of the documentation part
be your guidance to decide whether or not to split off a `-doc` subpackage. be your guidance to decide whether or not to split off a `-doc` subpackage.
<a id="pkgs_python"></a> <a id="pkgs_python"></a>
### Python packages #### Python packages
Python packages should be built with the `python{,2,3}-module` build style, if possible. Python packages should be built with the `python{,2,3}-module` build style, if possible.
This sets some environment variables required to allow cross compilation. Support to allow This sets some environment variables required to allow cross compilation. Support to allow
@ -1579,6 +1630,8 @@ In most cases version is inferred from shebang, install path or build style.
Only required for some multi-language Only required for some multi-language
applications (e.g., the application is written in C while the command is applications (e.g., the application is written in C while the command is
written in Python) or just single Python file ones that live in `/usr/bin`. written in Python) or just single Python file ones that live in `/usr/bin`.
If `python_version` is set to `ignore`, python-containing shebangs will not be rewritten.
Use this only if a package should not be using a system version of python.
Also, a set of useful variables are defined to use in the templates: Also, a set of useful variables are defined to use in the templates:
@ -1597,7 +1650,7 @@ Also, a set of useful variables are defined to use in the templates:
python versions. python versions.
<a id="pkgs_go"></a> <a id="pkgs_go"></a>
### Go packages #### Go packages
Go packages should be built with the `go` build style, if possible. Go packages should be built with the `go` build style, if possible.
The `go` build style takes care of downloading Go dependencies and The `go` build style takes care of downloading Go dependencies and
@ -1631,7 +1684,7 @@ The path to the package's source inside `$GOPATH` is available as
`$GOSRCPATH`. `$GOSRCPATH`.
<a id="pkgs_haskell"></a> <a id="pkgs_haskell"></a>
### Haskell packages #### Haskell packages
We build Haskell package using `stack` from We build Haskell package using `stack` from
[Stackage](http://www.stackage.org/), generally the LTS versions. [Stackage](http://www.stackage.org/), generally the LTS versions.
@ -1649,7 +1702,7 @@ The following variables influence how Haskell packages are built:
you can add your `--flag ...` parameters there. you can add your `--flag ...` parameters there.
<a id="pkgs_font"></a> <a id="pkgs_font"></a>
### Font packages #### Font packages
Font packages are very straightforward to write, they are always set with the Font packages are very straightforward to write, they are always set with the
following variables: following variables:
@ -1906,7 +1959,7 @@ If it is running under another architecture it tries to use the host's `install-
utility. utility.
<a id="triggers_initramfs_regenerate"></a> <a id="triggers_initramfs_regenerate"></a>
### initramfs-regenerate #### initramfs-regenerate
The initramfs-regenerate trigger will trigger the regeneration of all kernel The initramfs-regenerate trigger will trigger the regeneration of all kernel
initramfs images after package installation or removal. The trigger must be initramfs images after package installation or removal. The trigger must be
@ -1987,13 +2040,6 @@ During removal it will delete the directory using `rmdir`.
To include this trigger use the `make_dirs` variable, as the trigger won't do anything To include this trigger use the `make_dirs` variable, as the trigger won't do anything
unless it is defined. unless it is defined.
<a id="triggers_openjdk_profile"></a>
#### openjdk-profile
The openjdk-profile trigger is responsible for creating an entry in /etc/profile.d that
sets the `JAVA_HOME` environment variable to the currently-selected alternative for
`/usr/bin/java` on installation. This trigger must be manually requested.
<a id="triggers_pango_module"></a> <a id="triggers_pango_module"></a>
#### pango-modules #### pango-modules
@ -2138,7 +2184,7 @@ otherwise the `debug` packages won't have debugging symbols.
<a id="contributing"></a> <a id="contributing"></a>
### Contributing via git ### Contributing via git
To get started, [fork](https://help.github.com/articles/fork-a-repo) the void-linux `void-packages` git repository on GitHub and clone it: To get started, [fork](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/fork-a-repo) the void-linux `void-packages` git repository on GitHub and clone it:
$ git clone git@github.com:<user>/void-packages.git $ git clone git@github.com:<user>/void-packages.git
@ -2155,7 +2201,7 @@ to pull in new changes:
$ git pull --rebase upstream master $ git pull --rebase upstream master
<a id="help"></a> <a id="help"></a>
## Help ### Help
If after reading this `manual` you still need some kind of help, please join If after reading this `manual` you still need some kind of help, please join
us at `#xbps` via IRC at `irc.libera.chat`. us at `#xbps` via IRC at `irc.libera.chat`.

View file

@ -87,7 +87,7 @@ Once built, the package will be available in `hostdir/binpkgs` or an appropriate
Alternatively, packages can be installed with the `xi` utility, from the `xtools` package. `xi` takes the repository of the current working directory into account. Alternatively, packages can be installed with the `xi` utility, from the `xtools` package. `xi` takes the repository of the current working directory into account.
``` ```
# xi <package_name> $ xi <package_name>
``` ```
<a name="chroot-methods"></a> <a name="chroot-methods"></a>
@ -217,7 +217,7 @@ The following directory hierarchy is used with a default configuration file:
| |- repocache ... | |- repocache ...
| |- sources ... | |- sources ...
| |
|- masterdir |- masterdir-<arch>
| |- builddir -> ... | |- builddir -> ...
| |- destdir -> ... | |- destdir -> ...
| |- host -> bind mounted from <hostdir> | |- host -> bind mounted from <hostdir>
@ -226,7 +226,7 @@ The following directory hierarchy is used with a default configuration file:
The description of these directories is as follows: The description of these directories is as follows:
- `masterdir`: master directory to be used as rootfs to build/install packages. - `masterdir-<arch>`: master directory to be used as rootfs to build/install packages.
- `builddir`: to unpack package source tarballs and where packages are built. - `builddir`: to unpack package source tarballs and where packages are built.
- `destdir`: to install packages, aka **fake destdir**. - `destdir`: to install packages, aka **fake destdir**.
- `hostdir/ccache`: to store ccache data if the `XBPS_CCACHE` option is enabled. - `hostdir/ccache`: to store ccache data if the `XBPS_CCACHE` option is enabled.
@ -331,7 +331,7 @@ And then make a signature per package:
If the RSA key was protected with a passphrase you'll have to type it, or alternatively set If the RSA key was protected with a passphrase you'll have to type it, or alternatively set
it via the `XBPS_PASSPHRASE` environment variable. it via the `XBPS_PASSPHRASE` environment variable.
Once the binary packages have been signed, check the repository contains the appropriate `hex fingerprint`: Once the binary packages have been signed, check if the repository contains the appropriate `hex fingerprint`:
$ xbps-query --repository=hostdir/binpkgs -vL $ xbps-query --repository=hostdir/binpkgs -vL
... ...
@ -340,11 +340,14 @@ Each time a binary package is created, a package signature must be created with
> It is not possible to sign a repository with multiple RSA keys. > It is not possible to sign a repository with multiple RSA keys.
If packages in `hostdir/binpkgs` are signed, the key in `.plist` format (as imported by xbps) can be placed
in `etc/repo-keys/` to prevent xbps-src from prompting to import that key.
<a name="rebuilding"></a> <a name="rebuilding"></a>
### Rebuilding and overwriting existing local packages ### Rebuilding and overwriting existing local packages
Packages are overwritten on every build to make getting package with changed build options easy. Packages are overwritten on every build to make getting package with changed build options easy.
To make xbps-src skip build and preserve first package build with with given version and revision, To make xbps-src skip build and preserve first package build with given version and revision,
same as in official void repository, set `XBPS_PRESERVE_PKGS=yes` in `etc/conf` file. same as in official void repository, set `XBPS_PRESERVE_PKGS=yes` in `etc/conf` file.
Reinstalling a package in your target `rootdir` can be easily done too: Reinstalling a package in your target `rootdir` can be easily done too:
@ -359,7 +362,7 @@ the package from the desired repository.
<a name="distcc"></a> <a name="distcc"></a>
### Enabling distcc for distributed compilation ### Enabling distcc for distributed compilation
Setup the slaves (machines that will compile the code): Setup the workers (machines that will compile the code):
# xbps-install -Sy distcc # xbps-install -Sy distcc
@ -372,7 +375,7 @@ Enable and start the `distccd` service:
# ln -s /etc/sv/distccd /var/service # ln -s /etc/sv/distccd /var/service
Install distcc on the host (machine that executes xbps-src) as well. Install distcc on the host (machine that executes xbps-src) as well.
Unless you want to use the host as slave from other machines, there is no need Unless you want to use the host as worker from other machines, there is no need
to modify the configuration. to modify the configuration.
On the host you can now enable distcc in the `void-packages/etc/conf` file: On the host you can now enable distcc in the `void-packages/etc/conf` file:
@ -383,8 +386,8 @@ On the host you can now enable distcc in the `void-packages/etc/conf` file:
The example values assume a localhost CPU with 4 cores of which at most 2 are used for compiler jobs. The example values assume a localhost CPU with 4 cores of which at most 2 are used for compiler jobs.
The number of slots for preprocessor jobs is set to 24 in order to have enough preprocessed data for other CPUs to compile. The number of slots for preprocessor jobs is set to 24 in order to have enough preprocessed data for other CPUs to compile.
The slave 192.168.2.101 has a CPU with 8 cores and the /9 for the number of jobs is a saturating choice. The worker 192.168.2.101 has a CPU with 8 cores and the /9 for the number of jobs is a saturating choice.
The slave 192.168.2.102 is set to run at most 2 compile jobs to keep its load low, even if its CPU has 4 cores. The worker 192.168.2.102 is set to run at most 2 compile jobs to keep its load low, even if its CPU has 4 cores.
The XBPS_MAKEJOBS setting is increased to 16 to account for the possible parallelism (2 + 9 + 2 + some slack). The XBPS_MAKEJOBS setting is increased to 16 to account for the possible parallelism (2 + 9 + 2 + some slack).
<a name="distfiles-mirrors"></a> <a name="distfiles-mirrors"></a>
@ -431,7 +434,7 @@ xbps-src can be used in any recent Linux distribution matching the CPU architect
To use xbps-src in your Linux distribution use the following instructions. Let's start downloading the xbps static binaries: To use xbps-src in your Linux distribution use the following instructions. Let's start downloading the xbps static binaries:
$ wget http://alpha.de.repo.voidlinux.org/static/xbps-static-latest.<arch>-musl.tar.xz $ wget http://repo-default.voidlinux.org/static/xbps-static-latest.<arch>-musl.tar.xz
$ mkdir ~/XBPS $ mkdir ~/XBPS
$ tar xvf xbps-static-latest.<arch>-musl.tar.xz -C ~/XBPS $ tar xvf xbps-static-latest.<arch>-musl.tar.xz -C ~/XBPS
$ export PATH=~/XBPS/usr/bin:$PATH $ export PATH=~/XBPS/usr/bin:$PATH
@ -447,7 +450,7 @@ and `xbps-src` should be fully functional; just start the `bootstrap` process, i
$ ./xbps-src binary-bootstrap $ ./xbps-src binary-bootstrap
The default masterdir is created in the current working directory, i.e `void-packages/masterdir`. The default masterdir is created in the current working directory, i.e. `void-packages/masterdir-<arch>`, where `<arch>` for the default masterdir is is the native xbps architecture.
<a name="remaking-masterdir"></a> <a name="remaking-masterdir"></a>
### Remaking the masterdir ### Remaking the masterdir
@ -474,20 +477,21 @@ Two ways are available to build 32bit packages on x86\_64:
The canonical mode (native) needs a new x86 `masterdir`: The canonical mode (native) needs a new x86 `masterdir`:
$ ./xbps-src -m masterdir-x86 binary-bootstrap i686 $ ./xbps-src -A i686 binary-bootstrap
$ ./xbps-src -m masterdir-x86 ... $ ./xbps-src -A i686 ...
<a name="building-for-musl"></a> <a name="building-for-musl"></a>
### Building packages natively for the musl C library ### Building packages natively for the musl C library
Canonical way of building packages for same architecture but different C library is through dedicated masterdir. The canonical way of building packages for same architecture but different C library is through a dedicated masterdir by using the host architecture flag `-A`.
To build for x86_64-musl on glibc x86_64 system, prepare a new masterdir with the musl packages: To build for x86_64-musl on glibc x86_64 system, prepare a new masterdir with the musl packages:
$ ./xbps-src -m masterdir-x86_64-musl binary-bootstrap x86_64-musl $ ./xbps-src -A x86_64-musl binary-bootstrap
This will create and bootstrap a new masterdir called `masterdir-x86_64-musl` that will be used when `-A x86_64-musl` is specified.
Your new masterdir is now ready to build packages natively for the musl C library: Your new masterdir is now ready to build packages natively for the musl C library:
$ ./xbps-src -m masterdir-x86_64-musl pkg ... $ ./xbps-src -A x86_64-musl pkg ...
<a name="building-base-system"></a> <a name="building-base-system"></a>
### Building void base-system from scratch ### Building void base-system from scratch

View file

@ -0,0 +1,86 @@
# This build helper writes a Meson cross-file, allowing other build styles
# to properly drive cross-builds in Meson when appropriate
# Action is only taken for cross builds
[ -z "$CROSS_BUILD" ] && return 0
# The cross file should only be written once, unless forced
[ -e "${XBPS_WRAPPERDIR}/meson/xbps_meson.cross" ] && [ -z "$XBPS_BUILD_FORCEMODE" ] && return 0
mkdir -p "${XBPS_WRAPPERDIR}/meson"
_MESON_TARGET_ENDIAN=little
# drop the -musl suffix to the target cpu, meson doesn't recognize it
_MESON_TARGET_CPU=${XBPS_TARGET_MACHINE/-musl/}
case "$XBPS_TARGET_MACHINE" in
mips|mips-musl|mipshf-musl)
_MESON_TARGET_ENDIAN=big
_MESON_CPU_FAMILY=mips
;;
armv*)
_MESON_CPU_FAMILY=arm
;;
i686*)
_MESON_CPU_FAMILY=x86
;;
ppc64le*)
_MESON_CPU_FAMILY=ppc64
;;
ppc64*)
_MESON_TARGET_ENDIAN=big
_MESON_CPU_FAMILY=ppc64
;;
ppcle*)
_MESON_CPU_FAMILY=ppc
;;
ppc*)
_MESON_TARGET_ENDIAN=big
_MESON_CPU_FAMILY=ppc
;;
*)
# if we reached here that means that the cpu and cpu_family
# are the same like 'x86_64' and 'aarch64'
_MESON_CPU_FAMILY=${_MESON_TARGET_CPU}
;;
esac
# Tell meson to run binaries with qemu if desired
_MESON_EXE_WRAPPER=""
if [[ "${build_helper}" = *qemu* ]]; then
_MESON_EXE_WRAPPER="exe_wrapper = '/usr/bin/qemu-${XBPS_TARGET_QEMU_MACHINE}-static'"
fi
# Record cross-compiling information in cross file.
#
# CFLAGS, CXXFLAGS and LDFLAGS are not yet available and
# will be taken from the environment at configure time.
cat > "${XBPS_WRAPPERDIR}/meson/xbps_meson.cross" <<-EOF
[binaries]
${_MESON_EXE_WRAPPER:-# exe_wrapper is not set}
c = '${CC}'
cpp = '${CXX}'
ar = '${XBPS_CROSS_TRIPLET}-gcc-ar'
nm = '${NM}'
strip = '${STRIP}'
readelf = '${READELF}'
objcopy = '${OBJCOPY}'
pkg-config = '${PKG_CONFIG}'
rust = ['rustc', '--target', '${RUST_TARGET}' ,'--sysroot', '${XBPS_CROSS_BASE}/usr']
g-ir-scanner = '${XBPS_CROSS_BASE}/usr/bin/g-ir-scanner'
g-ir-compiler = '${XBPS_CROSS_BASE}/usr/bin/g-ir-compiler'
g-ir-generate = '${XBPS_CROSS_BASE}/usr/bin/g-ir-generate'
llvm-config = '/usr/bin/llvm-config'
cups-config = '${XBPS_CROSS_BASE}/usr/bin/cups-config'
[properties]
needs_exe_wrapper = true
bindgen_clang_arguments = ['-target', '${XBPS_CROSS_TRIPLET}']
[host_machine]
system = 'linux'
cpu_family = '${_MESON_CPU_FAMILY}'
cpu = '${_MESON_TARGET_CPU}'
endian = '${_MESON_TARGET_ENDIAN}'
EOF
unset _MESON_CPU_FAMILY _MESON_TARGET_CPU _MESON_TARGET_ENDIAN _MESON_EXE_WRAPPER

View file

@ -11,7 +11,8 @@ if [[ $hostmakedepends != *"python3-numpy"* ]]; then
hostmakedepends+=" python3-numpy" hostmakedepends+=" python3-numpy"
fi fi
if [ "$CROSS_BUILD" ]; then [ -z "$CROSS_BUILD" ] && return 0
if [[ $makedepends != *"python3-numpy"* ]]; then if [[ $makedepends != *"python3-numpy"* ]]; then
makedepends+=" python3-numpy" makedepends+=" python3-numpy"
fi fi
@ -34,4 +35,19 @@ if [ "$CROSS_BUILD" ]; then
ln -sf "${_gfortran}" "${XBPS_WRAPPERDIR}/gfortran" ln -sf "${_gfortran}" "${XBPS_WRAPPERDIR}/gfortran"
fi fi
unset _gfortran unset _gfortran
# Write a secondary meson cross file for numpy configuration
if [[ "${build_helper}" = *meson* ]]; then
_npy_meson_cross="${XBPS_WRAPPERDIR}/meson/xbps_numpy.cross"
_cross_py_site="${XBPS_CROSS_BASE}/${py3_sitelib}"
if [ ! -e "${_npy_meson_cross}" ] || [ -n "$XBPS_BUILD_FORCEMODE" ]; then
mkdir -p "${XBPS_WRAPPERDIR}/meson"
cat > "${_npy_meson_cross}" <<-EOF
[properties]
numpy-include-dir = '${_cross_py_site}/numpy/core/include'
pythran-include-dir = '${_cross_py_site}/pythran'
EOF
fi
unset _npy_meson_cross _cross_py_site
fi fi

View file

@ -30,9 +30,16 @@ else
unset CARGO_BUILD_TARGET unset CARGO_BUILD_TARGET
fi fi
# prevent cargo stripping debug symbols
export CARGO_PROFILE_RELEASE_STRIP=false
# For cross-compiling rust -sys crates # For cross-compiling rust -sys crates
export PKG_CONFIG_ALLOW_CROSS=1 export PKG_CONFIG_ALLOW_CROSS=1
# For cross-compiling pyo3 bindings
export PYO3_CROSS_LIB_DIR="${XBPS_CROSS_BASE}/usr/lib"
export PYO3_CROSS_INCLUDE_DIR="${XBPS_CROSS_BASE}/usr/include"
# gettext-rs # gettext-rs
export GETTEXT_BIN_DIR=/usr/bin export GETTEXT_BIN_DIR=/usr/bin
export GETTEXT_LIB_DIR="${XBPS_CROSS_BASE}/usr/lib/gettext" export GETTEXT_LIB_DIR="${XBPS_CROSS_BASE}/usr/lib/gettext"
@ -57,3 +64,12 @@ export ZSTD_SYS_USE_PKG_CONFIG=1
# onig-sys # onig-sys
export RUSTONIG_SYSTEM_LIBONIG=1 export RUSTONIG_SYSTEM_LIBONIG=1
# libsqlite3-sys
export LIBSQLITE3_SYS_USE_PKG_CONFIG=1
# jemalloc-sys
export JEMALLOC_SYS_WITH_LG_PAGE=16
# libgit2-sys
export LIBGIT2_NO_VENDOR=1

View file

@ -0,0 +1,7 @@
XBPS_TARGET_CFLAGS="-march=rv64imafdc"
XBPS_TARGET_CXXFLAGS="$XBPS_TARGET_CFLAGS"
XBPS_TARGET_FFLAGS="$XBPS_TARGET_CFLAGS"
XBPS_TRIPLET="riscv64-unknown-linux-musl"
XBPS_RUST_TARGET="riscv64gc-unknown-linux-musl"
XBPS_ZIG_TARGET="riscv64-linux-musl"
XBPS_ZIG_CPU="baseline"

View file

@ -0,0 +1,7 @@
XBPS_TARGET_CFLAGS="-march=rv64imafdc"
XBPS_TARGET_CXXFLAGS="$XBPS_TARGET_CFLAGS"
XBPS_TARGET_FFLAGS="$XBPS_TARGET_CFLAGS"
XBPS_TRIPLET="riscv64-unknown-linux-gnu"
XBPS_RUST_TARGET="riscv64gc-unknown-linux-gnu"
XBPS_ZIG_TARGET="riscv64-linux-gnu"
XBPS_ZIG_CPU="baseline"

View file

@ -31,6 +31,7 @@ _EOF
ppc64*) _CMAKE_SYSTEM_PROCESSOR=ppc64 ;; ppc64*) _CMAKE_SYSTEM_PROCESSOR=ppc64 ;;
ppcle*) _CMAKE_SYSTEM_PROCESSOR=ppcle ;; ppcle*) _CMAKE_SYSTEM_PROCESSOR=ppcle ;;
ppc*) _CMAKE_SYSTEM_PROCESSOR=ppc ;; ppc*) _CMAKE_SYSTEM_PROCESSOR=ppc ;;
riscv64*) _CMAKE_SYSTEM_PROCESSOR=riscv64 ;;
*) _CMAKE_SYSTEM_PROCESSOR=generic ;; *) _CMAKE_SYSTEM_PROCESSOR=generic ;;
esac esac
cat > cross_${XBPS_CROSS_TRIPLET}.cmake <<_EOF cat > cross_${XBPS_CROSS_TRIPLET}.cmake <<_EOF
@ -39,6 +40,7 @@ SET(CMAKE_SYSTEM_VERSION 1)
SET(CMAKE_C_COMPILER ${CC}) SET(CMAKE_C_COMPILER ${CC})
SET(CMAKE_CXX_COMPILER ${CXX}) SET(CMAKE_CXX_COMPILER ${CXX})
SET(Rust_CARGO_TARGET ${XBPS_CROSS_RUST_TARGET})
SET(CMAKE_CROSSCOMPILING TRUE) SET(CMAKE_CROSSCOMPILING TRUE)
SET(CMAKE_SYSTEM_PROCESSOR ${_CMAKE_SYSTEM_PROCESSOR}) SET(CMAKE_SYSTEM_PROCESSOR ${_CMAKE_SYSTEM_PROCESSOR})
@ -51,11 +53,10 @@ SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
_EOF _EOF
cmake_args+=" -DCMAKE_TOOLCHAIN_FILE=${wrksrc}/${build_wrksrc}/${cmake_builddir}/cross_${XBPS_CROSS_TRIPLET}.cmake" cmake_args+=" -DCMAKE_TOOLCHAIN_FILE=${wrksrc}/${build_wrksrc}/${cmake_builddir}/cross_${XBPS_CROSS_TRIPLET}.cmake"
fi fi
cmake_args+=" -DCMAKE_INSTALL_PREFIX=/usr" cmake_args+=" -DCMAKE_INSTALL_PREFIX:PATH=/usr"
cmake_args+=" -DCMAKE_BUILD_TYPE=None" cmake_args+=" -DCMAKE_BUILD_TYPE=None"
cmake_args+=" -DCMAKE_INSTALL_LIBDIR=lib${XBPS_TARGET_WORDSIZE}" cmake_args+=" -DCMAKE_INSTALL_LIBDIR:PATH=lib${XBPS_TARGET_WORDSIZE}"
cmake_args+=" -DCMAKE_INSTALL_SYSCONFDIR=/etc" cmake_args+=" -DCMAKE_INSTALL_SYSCONFDIR:PATH=/etc"
cmake_args+=" -DFETCHCONTENT_FULLY_DISCONNECTED=ON"
if [ "$CROSS_BUILD" ]; then if [ "$CROSS_BUILD" ]; then
cmake_args+=" -DQT_HOST_PATH=/usr" cmake_args+=" -DQT_HOST_PATH=/usr"
@ -69,7 +70,7 @@ _EOF
>> cross_${XBPS_CROSS_TRIPLET}.cmake >> cross_${XBPS_CROSS_TRIPLET}.cmake
fi fi
cmake_args+=" -DCMAKE_INSTALL_SBINDIR=bin" cmake_args+=" -DCMAKE_INSTALL_SBINDIR:PATH=bin"
export CMAKE_GENERATOR="${CMAKE_GENERATOR:-Ninja}" export CMAKE_GENERATOR="${CMAKE_GENERATOR:-Ninja}"
# Remove -pipe: https://gitlab.kitware.com/cmake/cmake/issues/19590 # Remove -pipe: https://gitlab.kitware.com/cmake/cmake/issues/19590

View file

@ -32,6 +32,16 @@ do_build() {
go_package=${go_package:-$go_import_path} go_package=${go_package:-$go_import_path}
# Build using Go modules if there's a go.mod file # Build using Go modules if there's a go.mod file
if [ "${go_mod_mode}" != "off" ] && [ -f go.mod ]; then if [ "${go_mod_mode}" != "off" ] && [ -f go.mod ]; then
if [[ -n "${_go_mod_path}" ]]; then
pushd $(dirname ${_go_mod_path})
fi
# Check if go_import_path matches module
if [ "module $go_import_path" != "$(grep '^module' go.mod | head -n1)" ]; then
msg_error "\"\$go_import_path\" doesn't match the one defined in go.mod!\n"
fi
if [ -z "${go_mod_mode}" ] && [ -d vendor ]; then if [ -z "${go_mod_mode}" ] && [ -d vendor ]; then
msg_normal "Using vendor dir for $pkgname Go dependencies.\n" msg_normal "Using vendor dir for $pkgname Go dependencies.\n"
go_mod_mode=vendor go_mod_mode=vendor
@ -40,10 +50,13 @@ do_build() {
# default behavior. # default behavior.
go_mod_mode= go_mod_mode=
fi fi
go install -p "$XBPS_MAKEJOBS" -mod="${go_mod_mode}" -modcacherw -x -tags "${go_build_tags}" -ldflags "${go_ldflags}" ${go_package} go install -p "$XBPS_MAKEJOBS" -mod="${go_mod_mode}" -modcacherw -v -tags "${go_build_tags}" -ldflags "${go_ldflags}" ${go_package}
if [[ -n "${_go_mod_path}" ]]; then
popd
fi
else else
# Otherwise, build using GOPATH # Otherwise, build using GOPATH
go get -p "$XBPS_MAKEJOBS" -x -tags "${go_build_tags}" -ldflags "${go_ldflags}" ${go_package} go install -p "$XBPS_MAKEJOBS" -v -tags "${go_build_tags}" -ldflags "${go_ldflags}" ${go_package}
fi fi
} }

View file

@ -1,94 +1,11 @@
# #
# This helper is for templates using meson. # This helper is for templates using meson.
# #
do_patch() {
: ${meson_crossfile:=xbps_meson.cross}
if [ "$CROSS_BUILD" ]; then
_MESON_TARGET_ENDIAN=little
# drop the -musl suffix to the target cpu, meson doesn't recognize it
_MESON_TARGET_CPU=${XBPS_TARGET_MACHINE/-musl/}
case "$XBPS_TARGET_MACHINE" in
mips|mips-musl|mipshf-musl)
_MESON_TARGET_ENDIAN=big
_MESON_CPU_FAMILY=mips
;;
armv*)
_MESON_CPU_FAMILY=arm
;;
i686*)
_MESON_CPU_FAMILY=x86
;;
ppc64le*)
_MESON_CPU_FAMILY=ppc64
;;
ppc64*)
_MESON_TARGET_ENDIAN=big
_MESON_CPU_FAMILY=ppc64
;;
ppcle*)
_MESON_CPU_FAMILY=ppc
;;
ppc*)
_MESON_TARGET_ENDIAN=big
_MESON_CPU_FAMILY=ppc
;;
*)
# if we reached here that means that the cpu and cpu_family
# are the same like 'x86_64' and 'aarch64'
_MESON_CPU_FAMILY=${_MESON_TARGET_CPU}
;;
esac
# Record cross-compiling information in cross file.
# CFLAGS and LDFLAGS must be set as c_args and c_link_args.
cat > ${meson_crossfile} <<EOF
[binaries]
c = '${CC}'
cpp = '${CXX}'
ar = '${XBPS_CROSS_TRIPLET}-gcc-ar'
nm = '${NM}'
ld = '${LD}'
strip = '${STRIP}'
readelf = '${READELF}'
objcopy = '${OBJCOPY}'
pkgconfig = '${PKG_CONFIG}'
rust = ['rustc', '--target', '${RUST_TARGET}' ,'--sysroot', '${XBPS_CROSS_BASE}/usr']
g-ir-scanner = '${XBPS_CROSS_BASE}/usr/bin/g-ir-scanner'
g-ir-compiler = '${XBPS_CROSS_BASE}/usr/bin/g-ir-compiler'
g-ir-generate = '${XBPS_CROSS_BASE}/usr/bin/g-ir-generate'
llvm-config = '/usr/bin/llvm-config'
cups-config = '${XBPS_CROSS_BASE}/usr/bin/cups-config'
[properties]
needs_exe_wrapper = true
[built-in options]
c_args = ['$(echo ${CFLAGS} | sed -r "s/\s+/','/g")']
c_link_args = ['$(echo ${LDFLAGS} | sed -r "s/\s+/','/g")']
cpp_args = ['$(echo ${CXXFLAGS} | sed -r "s/\s+/','/g")']
cpp_link_args = ['$(echo ${LDFLAGS} | sed -r "s/\s+/','/g")']
[host_machine]
system = 'linux'
cpu_family = '${_MESON_CPU_FAMILY}'
cpu = '${_MESON_TARGET_CPU}'
endian = '${_MESON_TARGET_ENDIAN}'
EOF
if [[ $build_helper = *"qemu"* ]]; then
sed -e "/\[binaries\]/ a exe_wrapper = '/usr/bin/qemu-${XBPS_TARGET_QEMU_MACHINE}-static'" \
-i ${meson_crossfile}
fi
unset _MESON_CPU_FAMILY _MESON_TARGET_CPU _MESON_TARGET_ENDIAN
fi
}
do_configure() { do_configure() {
: ${meson_cmd:=meson} : ${meson_cmd:=meson}
: ${meson_builddir:=build} : ${meson_builddir:=build}
: ${meson_crossfile:=xbps_meson.cross} : ${meson_crossfile:="${XBPS_WRAPPERDIR}/meson/xbps_meson.cross"}
if [ "$CROSS_BUILD" ]; then if [ "$CROSS_BUILD" ]; then
configure_args+=" --cross-file=${meson_crossfile}" configure_args+=" --cross-file=${meson_crossfile}"

View file

@ -1,96 +0,0 @@
#
# This helper is for templates installing python modules.
#
do_build() {
: ${python_versions:="2.7 $py3_ver"}
local pyver= tmp_cflags="$CFLAGS" tmp_ldflags="$LDFLAGS"
for pyver in $python_versions; do
if [ -n "$CROSS_BUILD" ]; then
CFLAGS="$tmp_cflags"
LDFLAGS="$tmp_ldflags"
ADDENV=
PYPREFIX="$XBPS_CROSS_BASE"
CFLAGS+=" -I${XBPS_CROSS_BASE}/include/python${pyver} -I${XBPS_CROSS_BASE}/usr/include"
LDFLAGS+=" -L${XBPS_CROSS_BASE}/lib/python${pyver} -L${XBPS_CROSS_BASE}/usr/lib"
CC="${XBPS_CROSS_TRIPLET}-gcc -pthread $CFLAGS $LDFLAGS"
LDSHARED="${CC} -shared $LDFLAGS"
case $pyver in
3.*)
for f in ${XBPS_CROSS_BASE}/${py3_lib}/_sysconfigdata_*; do
f=${f##*/}
_PYTHON_SYSCONFIGDATA_NAME=${f%.py}
done
ADDENV+=" PYTHONPATH=${XBPS_CROSS_BASE}/${py3_lib}"
ADDENV+=" _PYTHON_SYSCONFIGDATA_NAME="$_PYTHON_SYSCONFIGDATA_NAME""
esac
env CC="$CC" LDSHARED="$LDSHARED" $ADDENV \
PYPREFIX="$PYPREFIX" CFLAGS="$CFLAGS" \
LDFLAGS="$LDFLAGS" python${pyver} setup.py \
build --build-base=build-${pyver} ${make_build_args}
else
python${pyver} setup.py build --build-base=build-${pyver} ${make_build_args}
fi
done
}
do_check() {
: ${python_versions:="2.7 $py3_ver"}
for pyver in $python_versions; do
ln -s build-${pyver} build
if [ -z "$make_check_target" ]; then
if ! python${pyver} setup.py --help test >/dev/null 2>&1; then
msg_warn "No command 'test' defined by setup.py for python${pyver}.\n"
rm build
return 0
fi
fi
${make_check_pre} python${pyver} setup.py ${make_check_target:-test} ${make_check_args}
rm build
done
}
do_install() {
: ${python_versions:="2.7 $py3_ver"}
local pyver=
for pyver in $python_versions; do
if [ -n "$CROSS_BUILD" ]; then
ADDENV=
PYPREFIX="$XBPS_CROSS_BASE"
CFLAGS+=" -I${XBPS_CROSS_BASE}/include/python${pyver} -I${XBPS_CROSS_BASE}/usr/include"
LDFLAGS+=" -L${XBPS_CROSS_BASE}/lib/python${pyver} -L${XBPS_CROSS_BASE}/usr/lib"
CC="${XBPS_CROSS_TRIPLET}-gcc -pthread $CFLAGS $LDFLAGS"
LDSHARED="${CC} -shared $LDFLAGS"
case $pyver in
3.*)
for f in ${XBPS_CROSS_BASE}/${py3_lib}/_sysconfigdata_*; do
f=${f##*/}
_PYTHON_SYSCONFIGDATA_NAME=${f%.py}
done
ADDENV+=" PYTHONPATH=${XBPS_CROSS_BASE}/${py3_lib}"
ADDENV+=" _PYTHON_SYSCONFIGDATA_NAME="$_PYTHON_SYSCONFIGDATA_NAME""
esac
env CC="$CC" LDSHARED="$LDSHARED" $ADDENV \
PYPREFIX="$PYPREFIX" CFLAGS="$CFLAGS" \
LDFLAGS="$LDFLAGS" python${pyver} setup.py \
build --build-base=build-${pyver} \
install --prefix=/usr --root=${DESTDIR} ${make_install_args}
else
python${pyver} setup.py build --build-base=build-${pyver} \
install --prefix=/usr --root=${DESTDIR} ${make_install_args}
fi
# Rename unversioned scripts to avoid name conflicts.
if [ -d ${DESTDIR}/usr/bin ]; then
find ${DESTDIR}/usr/bin -type f ! -name "*[[:digit:]]" | while IFS= read -r f _; do
mv "${f}" "${f}${pyver%.*}"
echo "[python-module] Unversioned script renamed to '${f#$DESTDIR}${pyver%.*}'"
done
fi
done
}

View file

@ -12,7 +12,7 @@ do_check() {
if python3 -c 'import xdist' >/dev/null 2>&1; then if python3 -c 'import xdist' >/dev/null 2>&1; then
testjobs="-n $XBPS_MAKEJOBS" testjobs="-n $XBPS_MAKEJOBS"
fi fi
PYTHONPATH="$(cd build/lib* && pwd)" \ PYTHONPATH="$(cd build/lib* && pwd)" PY_IGNORE_IMPORTMISMATCH=1 \
${make_check_pre} \ ${make_check_pre} \
python3 -m pytest ${testjobs} ${make_check_args} ${make_check_target} python3 -m pytest ${testjobs} ${make_check_args} ${make_check_target}
else else

View file

@ -4,8 +4,18 @@
do_build() { do_build() {
: ${make_build_target:=.} : ${make_build_target:=.}
: ${make_build_args:=--no-isolation --wheel}
python3 -m build ${make_build_args} ${make_build_target} if [ "${CROSS_BUILD}" ] && [[ "${build_helper}" = *meson* ]]; then
local mcross="-Csetup-args=--cross-file=${XBPS_WRAPPERDIR}/meson"
make_build_args+=" ${mcross}/xbps_meson.cross"
if [[ "${build_helper}" = *numpy* ]]; then
make_build_args+=" ${mcross}/xbps_numpy.cross"
fi
fi
python3 -m build --no-isolation --wheel \
${make_build_args} ${make_build_target}
} }
do_check() { do_check() {
@ -19,11 +29,11 @@ do_check() {
testjobs="-n $XBPS_MAKEJOBS" testjobs="-n $XBPS_MAKEJOBS"
fi fi
local testdir="${wrksrc}/tmp/$(date +%s)" local testdir="${wrksrc}/.xbps-testdir/$(date +%s)"
python3 -m installer --destdir "${testdir}" \ python3 -m installer --destdir "${testdir}" \
${make_install_args} ${make_install_target:-dist/*.whl} ${make_install_args} ${make_install_target:-dist/*.whl}
PATH="${testdir}/usr/bin:${PATH}" PYTHONPATH="${testdir}/${py3_sitelib}" \ PATH="${testdir}/usr/bin:${PATH}" PYTHONPATH="${testdir}/${py3_sitelib}" PY_IGNORE_IMPORTMISMATCH=1 \
${make_check_pre} pytest3 ${testjobs} ${make_check_args} ${make_check_target} ${make_check_pre} pytest3 ${testjobs} ${make_check_args} ${make_check_target}
} }

View file

@ -4,17 +4,22 @@
do_configure() { do_configure() {
local qmake local qmake
local qmake_args local qmake_args
local qt local qt=${QT:-}
if [ -x "/usr/lib/qt5/bin/qmake" ]; then local builddir="${wrksrc}/${build_wrksrc}"
qmake="/usr/lib/qt5/bin/qmake" cd ${builddir}
if [ "${QT}" ]; then
qt=${QT}
if [ ! -x "/usr/lib/${qt}/bin/qmake" ]; then
msg_error "${QT} is requested, but not found\n"
fi
elif [ -x "/usr/lib/qt5/bin/qmake" ]; then
qt="qt5" qt="qt5"
elif [ -x "/usr/lib/qt6/bin/qmake" ]; then elif [ -x "/usr/lib/qt6/bin/qmake" ]; then
qmake="/usr/lib/qt6/bin/qmake"
qt="qt6" qt="qt6"
fi else
if [ -z "${qmake}" ]; then
msg_error "${pkgver}: Could not find qmake - missing in hostmakedepends?\n" msg_error "${pkgver}: Could not find qmake - missing in hostmakedepends?\n"
fi fi
qmake="/usr/lib/${qt}/bin/qmake"
if [ "$CROSS_BUILD" ]; then if [ "$CROSS_BUILD" ]; then
case $XBPS_TARGET_MACHINE in case $XBPS_TARGET_MACHINE in
i686*) _qt_arch=i386;; i686*) _qt_arch=i386;;
@ -25,8 +30,8 @@ do_configure() {
ppc64*) _qt_arch=power64;; ppc64*) _qt_arch=power64;;
ppc*) _qt_arch=power;; ppc*) _qt_arch=power;;
esac esac
mkdir -p "${wrksrc}/.target-spec/linux-g++" mkdir -p "${builddir}/.target-spec/linux-g++"
cat > "${wrksrc}/.target-spec/linux-g++/qmake.conf" <<_EOF cat > "${builddir}/.target-spec/linux-g++/qmake.conf" <<_EOF
MAKEFILE_GENERATOR = UNIX MAKEFILE_GENERATOR = UNIX
CONFIG += incremental no_qt_rpath CONFIG += incremental no_qt_rpath
QMAKE_INCREMENTAL_STYLE = sublib QMAKE_INCREMENTAL_STYLE = sublib
@ -54,10 +59,10 @@ QMAKE_CXXFLAGS = ${CXXFLAGS}
QMAKE_LFLAGS = ${LDFLAGS} QMAKE_LFLAGS = ${LDFLAGS}
load(qt_config) load(qt_config)
_EOF _EOF
echo "#include \"${XBPS_CROSS_BASE}/usr/lib/${qt}/mkspecs/linux-g++/qplatformdefs.h\"" > "${wrksrc}/.target-spec/linux-g++/qplatformdefs.h" echo "#include \"${XBPS_CROSS_BASE}/usr/lib/${qt}/mkspecs/linux-g++/qplatformdefs.h\"" > "${builddir}/.target-spec/linux-g++/qplatformdefs.h"
mkdir -p "${wrksrc}/.host-spec/linux-g++" mkdir -p "${builddir}/.host-spec/linux-g++"
cat > "${wrksrc}/.host-spec/linux-g++/qmake.conf" <<_EOF cat > "${builddir}/.host-spec/linux-g++/qmake.conf" <<_EOF
MAKEFILE_GENERATOR = UNIX MAKEFILE_GENERATOR = UNIX
CONFIG += incremental no_qt_rpath CONFIG += incremental no_qt_rpath
QMAKE_INCREMENTAL_STYLE = sublib QMAKE_INCREMENTAL_STYLE = sublib
@ -84,8 +89,8 @@ QMAKE_CXXFLAGS = ${CXXFLAGS_host}
QMAKE_LFLAGS = ${LDFLAGS_host} QMAKE_LFLAGS = ${LDFLAGS_host}
load(qt_config) load(qt_config)
_EOF _EOF
echo '#include "/usr/lib/${qt}/mkspecs/linux-g++/qplatformdefs.h"' > "${wrksrc}/.host-spec/linux-g++/qplatformdefs.h" echo '#include "/usr/lib/${qt}/mkspecs/linux-g++/qplatformdefs.h"' > "${builddir}/.host-spec/linux-g++/qplatformdefs.h"
cat > "${wrksrc}/qt.conf" <<_EOF cat > "${builddir}/qt.conf" <<_EOF
[Paths] [Paths]
Sysroot=${XBPS_CROSS_BASE} Sysroot=${XBPS_CROSS_BASE}
Prefix=/usr Prefix=/usr
@ -108,10 +113,10 @@ HostData=/usr/lib/${qt}
HostBinaries=/usr/lib/${qt}/bin HostBinaries=/usr/lib/${qt}/bin
HostLibraries=/usr/lib HostLibraries=/usr/lib
HostLibraryExecutables=/usr/lib/${qt}/libexec HostLibraryExecutables=/usr/lib/${qt}/libexec
Spec=${wrksrc}/.host-spec/linux-g++ Spec=${builddir}/.host-spec/linux-g++
TargetSpec=${wrksrc}/.target-spec/linux-g++ TargetSpec=${builddir}/.target-spec/linux-g++
_EOF _EOF
qmake_args="-qtconf ${wrksrc}/qt.conf PKG_CONFIG_EXECUTABLE=${XBPS_WRAPPERDIR}/${PKG_CONFIG}" qmake_args="-qtconf ${builddir}/qt.conf PKG_CONFIG_EXECUTABLE=${XBPS_WRAPPERDIR}/${PKG_CONFIG}"
${qmake} ${qmake_args} \ ${qmake} ${qmake_args} \
PREFIX=/usr \ PREFIX=/usr \
QT_INSTALL_PREFIX=/usr \ QT_INSTALL_PREFIX=/usr \
@ -134,6 +139,7 @@ _EOF
} }
do_build() { do_build() {
cd "${wrksrc}/${build_wrksrc}"
: ${make_cmd:=make} : ${make_cmd:=make}
${make_cmd} ${makejobs} ${make_build_args} ${make_build_target} \ ${make_cmd} ${makejobs} ${make_build_args} ${make_build_target} \
@ -141,6 +147,7 @@ do_build() {
} }
do_install() { do_install() {
cd "${wrksrc}/${build_wrksrc}"
: ${make_cmd:=make} : ${make_cmd:=make}
: ${make_install_target:=install} : ${make_install_target:=install}

View file

@ -3,14 +3,11 @@ do_build() {
# Extract the source files # Extract the source files
mkdir -p "build/usr/share/texmf-dist" mkdir -p "build/usr/share/texmf-dist"
find . -maxdepth 1 -print -name "*.tar.xz" \ find . -maxdepth 1 -print -name "*.tar.xz" \
-exec bsdtar -C "build/usr/share/texmf-dist" -xf {} \; -exec bsdtar \
-s '|^texmf-dist/||' \
-C "build/usr/share/texmf-dist" \
-xf {} \;
cd "build/usr/share/texmf-dist/" cd "build/usr/share/texmf-dist/"
# Everything in usr/share/texmf-dist/texmf-dist should really be in
# usr/share/texmf-dist, so we move it
if [ -d "texmf-dist" ] ; then
rsync -ar texmf-dist/ ./
rm -rf texmf-dist/
fi
# LICENSEs are unneeded # LICENSEs are unneeded
rm -f LICENSE* rm -f LICENSE*

View file

@ -134,7 +134,7 @@ _void_cross_build_bootstrap_gcc() {
--disable-libmudflap \ --disable-libmudflap \
--disable-libssp \ --disable-libssp \
--disable-libitm \ --disable-libitm \
--disable-libatomic \ --disable-libatomic --disable-autolink-libatomic \
--disable-gcov \ --disable-gcov \
--disable-threads \ --disable-threads \
--disable-sjlj-exceptions \ --disable-sjlj-exceptions \
@ -264,9 +264,10 @@ _void_cross_build_glibc() {
CC="${tgt}-gcc" CXX="${tgt}-g++" CPP="${tgt}-cpp" LD="${tgt}-ld" \ CC="${tgt}-gcc" CXX="${tgt}-g++" CPP="${tgt}-cpp" LD="${tgt}-ld" \
AR="${tgt}-ar" AS="${tgt}-as" NM="${tgt}-nm" \ AR="${tgt}-ar" AS="${tgt}-as" NM="${tgt}-nm" \
OBJDUMP="${tgt}-objdump" OBJCOPY="${tgt}-objcopy" \
CFLAGS="-pipe ${cross_glibc_cflags}" \ CFLAGS="-pipe ${cross_glibc_cflags}" \
CXXFLAGS="-pipe ${cross_glibc_cflags}" \ CXXFLAGS="-pipe ${cross_glibc_cflags}" \
CPPFLAGS="${cross_glibc_cflags}" \ CPPFLAGS="" \
LDFLAGS="${cross_glibc_ldflags}" \ LDFLAGS="${cross_glibc_ldflags}" \
../glibc-${ver}/configure \ ../glibc-${ver}/configure \
--prefix=/usr \ --prefix=/usr \
@ -377,6 +378,10 @@ _void_cross_build_gcc() {
msg_normal "Building gcc for ${tgt}\n" msg_normal "Building gcc for ${tgt}\n"
# GIANT HACK: create an empty libatomic.a so gcc cross-compile
# below works.
ar r ${wrksrc}/build_root/usr/${tgt}/usr/lib/libatomic.a
mkdir -p ${wrksrc}/gcc_build mkdir -p ${wrksrc}/gcc_build
cd ${wrksrc}/gcc_build cd ${wrksrc}/gcc_build
@ -399,13 +404,8 @@ _void_cross_build_gcc() {
# note on --disable-libquadmath: # note on --disable-libquadmath:
# on some platforms the library is actually necessary for the # on some platforms the library is actually necessary for the
# fortran frontend to build, but still disable it because it # fortran frontend to build, platforms where this is a problem
# should not be in the resulting packages; it conflicts with # should explicitly force libquadmath to be on via cross_gcc_configure_args
# the libquadmath you can install into the cross root
#
# platforms where this is a problem should explicitly force
# libquadmath to be on via cross_gcc_configure_args, the
# do_install in this build-style automatically removes it
# #
../gcc-${ver}/configure \ ../gcc-${ver}/configure \
--prefix=/usr \ --prefix=/usr \
@ -641,12 +641,9 @@ do_install() {
ln -sf libgnat-${gcc_major}.so ${DESTDIR}/${sysroot}/usr/lib/libgnat.so ln -sf libgnat-${gcc_major}.so ${DESTDIR}/${sysroot}/usr/lib/libgnat.so
rm -vf ${DESTDIR}/${adalib}/libgna{rl,t}.so rm -vf ${DESTDIR}/${adalib}/libgna{rl,t}.so
# Remove unnecessary libatomic which is only built for gccgo # Remove libgomp library because it conflicts with libgomp and
rm -rf ${DESTDIR}/${sysroot}/usr/lib/libatomic.* # libgomp-devel packages
rm -f ${DESTDIR}/${sysroot}/usr/lib/libgomp*
# If libquadmath was forced (needed for gfortran on some platforms)
# then remove it because it conflicts with libquadmath package
rm -rf ${DESTDIR}/${sysroot}/usr/lib/libquadmath.*
# Remove libdep linker plugin because it conflicts with system binutils # Remove libdep linker plugin because it conflicts with system binutils
rm -f ${DESTDIR}/usr/lib/bfd-plugins/libdep* rm -f ${DESTDIR}/usr/lib/bfd-plugins/libdep*

View file

@ -9,12 +9,27 @@ readonly EXTRA_ARGS="$4"
readonly CMD="$5" readonly CMD="$5"
shift 5 shift 5
if ! command -v xbps-uchroot >/dev/null 2>&1; then msg_red() {
# error messages in bold/red
[ -n "$NOCOLORS" ] || printf >&2 "\033[1m\033[31m"
printf "=> ERROR: %s\\n" "$@" >&2
[ -n "$NOCOLORS" ] || printf >&2 "\033[m"
}
readonly XBPS_UCHROOT_CMD="$(command -v xbps-uchroot 2>/dev/null)"
if [ -z "$XBPS_UCHROOT_CMD" ]; then
msg_red "could not find xbps-uchroot"
exit 1 exit 1
fi fi
if [ -z "$MASTERDIR" -o -z "$DISTDIR" ]; then if ! [ -x "$XBPS_UCHROOT_CMD" ]; then
echo "$0 MASTERDIR/DISTDIR not set" msg_red "xbps-uchroot is not executable. Are you in the $(stat -c %G "$XBPS_UCHROOT_CMD") group?"
exit 1
fi
if [ -z "$MASTERDIR" ] || [ -z "$DISTDIR" ]; then
msg_red "$0: MASTERDIR/DISTDIR not set"
exit 1 exit 1
fi fi

View file

@ -0,0 +1,35 @@
# syntax=docker/dockerfile:1
FROM --platform=${BUILDPLATFORM} alpine:3.18 AS bootstrap
ARG TARGETPLATFORM
ARG MIRROR=https://repo-ci.voidlinux.org
ARG LIBC
RUN apk add ca-certificates curl && \
curl "${MIRROR}/static/xbps-static-static-0.59_5.$(uname -m)-musl.tar.xz" | tar vJx
COPY common/repo-keys/* /target/var/db/xbps/keys/
COPY common/container/setup.sh /bootstrap/setup.sh
RUN --mount=type=cache,sharing=locked,target=/target/var/cache/xbps,id=repocache-${LIBC} \
. /bootstrap/setup.sh; \
XBPS_TARGET_ARCH=${ARCH} xbps-install -S \
-R "${REPO}" -R "${REPO}/bootstrap" \
-r /target
FROM --platform=${BUILDPLATFORM} bootstrap AS install
ARG TARGETPLATFORM
ARG MIRROR
ARG LIBC
COPY --from=bootstrap /target /target
COPY common/container/noextract.conf /target/etc/xbps.d/noextract.conf
RUN --mount=type=cache,sharing=locked,target=/target/var/cache/xbps,id=repocache-${LIBC} \
. /bootstrap/setup.sh; \
XBPS_TARGET_ARCH=${ARCH} xbps-install -y \
-R "${REPO}" -R "${REPO}/bootstrap" \
-r /target \
base-chroot void-repo-bootstrap
FROM scratch AS image
COPY --link --from=install /target /
RUN \
install -dm1777 tmp; \
xbps-reconfigure -fa; \
rm -rf /var/cache/xbps/*
CMD ["/bin/sh"]

View file

@ -0,0 +1,9 @@
## void-packages buildroot containers
These containers are used for CI and should contain everything needed to run xbps-src.
### Updating
To build a new version, kick off a CI run by pushing something to `common/container/` on `master` or using the `Run workflow` button [here](https://github.com/void-linux/void-packages/actions/workflows/container.yaml).
Once this is built, update the version where it is used in `.github/workflows/` (typically in the value of a `container.image` key) to the newly-built tag.

View file

@ -0,0 +1,29 @@
variable "MIRROR" {
default = "https://repo-ci.voidlinux.org/"
}
target "docker-metadata-action" {}
target "_common" {
inherits = ["docker-metadata-action"]
dockerfile = "common/container/Containerfile"
no-cache-filter = ["bootstrap"]
cache-to = ["type=local,dest=/tmp/buildx-cache"]
cache-from = ["type=local,src=/tmp/buildx-cache"]
target = "image"
args = {
"MIRROR" = "${MIRROR}"
}
}
target "void-buildroot-glibc" {
inherits = ["_common"]
platforms = ["linux/amd64", "linux/386", "linux/arm64", "linux/arm/v7", "linux/arm/v6"]
args = { "LIBC" = "glibc" }
}
target "void-buildroot-musl" {
inherits = ["_common"]
platforms = ["linux/amd64", "linux/arm64", "linux/arm/v7", "linux/arm/v6"]
args = { "LIBC" = "musl" }
}

View file

@ -0,0 +1,14 @@
noextract=/etc/sv*
noextract=/usr/share/man*
noextract=/usr/lib/dracut*
noextract=/etc/hosts
noextract=/etc/mtab
noextract=/etc/skel*
noextract=/usr/lib/modprobe.d*
noextract=/usr/lib/sysctl.d*
noextract=/usr/lib/udev*
noextract=/usr/share/bash-completion*
noextract=/usr/share/fish/vendor-completions.d*
noextract=/usr/share/zsh/site-functions*
noextract=/usr/share/info*
noextract=/usr/share/locale*

29
common/container/setup.sh Normal file
View file

@ -0,0 +1,29 @@
#!/bin/sh
: "${MIRROR:=https://repo-default.voidlinux.org/}"
suffix() {
case "${LIBC:?}" in
musl) echo "-musl" ;;
esac
}
repo() {
case "${ARCH:?}" in
aarch64*) echo "${MIRROR}/current/aarch64" ;;
*-musl) echo "${MIRROR}/current/musl" ;;
*) echo "${MIRROR}/current" ;;
esac
}
case "${TARGETPLATFORM:?}" in
linux/arm/v6) ARCH="armv6l$(suffix)" ;;
linux/arm/v7) ARCH="armv7l$(suffix)" ;;
linux/arm64) ARCH="aarch64$(suffix)" ;;
linux/amd64) ARCH="x86_64$(suffix)" ;;
linux/386) ARCH="i686$(suffix)" ;;
esac
REPO="$(repo)"
export ARCH REPO

View file

@ -0,0 +1,12 @@
# Cross build profile for riscv64 and Musl libc.
XBPS_TARGET_MACHINE="riscv64-musl"
XBPS_TARGET_QEMU_MACHINE="riscv64"
XBPS_CROSS_TRIPLET="riscv64-linux-musl"
XBPS_CROSS_CFLAGS="-march=rv64imafdc"
XBPS_CROSS_CXXFLAGS="$XBPS_CROSS_CFLAGS"
XBPS_CROSS_FFLAGS="$XBPS_CROSS_CFLAGS"
XBPS_CROSS_RUSTFLAGS="--sysroot=${XBPS_CROSS_BASE}/usr"
XBPS_CROSS_RUST_TARGET="riscv64gc-unknown-linux-musl"
XBPS_CROSS_ZIG_TARGET="riscv64-linux-musl"
XBPS_CROSS_ZIG_CPU="baseline"

View file

@ -0,0 +1,12 @@
# Cross build profile for riscv64 and Musl libc.
XBPS_TARGET_MACHINE="riscv64"
XBPS_TARGET_QEMU_MACHINE="riscv64"
XBPS_CROSS_TRIPLET="riscv64-linux-gnu"
XBPS_CROSS_CFLAGS="-march=rv64imafdc"
XBPS_CROSS_CXXFLAGS="$XBPS_CROSS_CFLAGS"
XBPS_CROSS_FFLAGS="$XBPS_CROSS_CFLAGS"
XBPS_CROSS_RUSTFLAGS="--sysroot=${XBPS_CROSS_BASE}/usr"
XBPS_CROSS_RUST_TARGET="riscv64gc-unknown-linux-gnu"
XBPS_CROSS_ZIG_TARGET="riscv64-linux-gnu"
XBPS_CROSS_ZIG_CPU="baseline"

View file

@ -8,6 +8,4 @@ if [ "$CROSS_BUILD" ]; then
makedepends+=" rust-std" makedepends+=" rust-std"
fi fi
export CARGO_REGISTRIES_CRATES_IO_PROTOCOL=sparse
build_helper+=" rust" build_helper+=" rust"

View file

@ -1,6 +1,6 @@
if [ "$CHROOT_READY" ]; then if [ "$CHROOT_READY" ]; then
if [ "$pkgname" != cmake ]; then if [ "$pkgname" != cmake-bootstrap ]; then
hostmakedepends+=" cmake" hostmakedepends+=" cmake-bootstrap"
fi fi
if [ "${make_cmd:-ninja}" = ninja ]; then if [ "${make_cmd:-ninja}" = ninja ]; then
hostmakedepends+=" ninja" hostmakedepends+=" ninja"
@ -8,3 +8,4 @@ if [ "$CHROOT_READY" ]; then
fi fi
export CTEST_OUTPUT_ON_FAILURE=TRUE export CTEST_OUTPUT_ON_FAILURE=TRUE
PATH="$PATH:/usr/libexec/xbps-src/bin"

View file

@ -1,7 +1,7 @@
if [ -z "$hostmakedepends" -o "${hostmakedepends##*gcc-go-tools*}" ]; then if [ -z "$hostmakedepends" -o "${hostmakedepends##*gcc-go-tools*}" ]; then
# gc compiler # gc compiler
if [ -z "$archs" ]; then if [ -z "$archs" ]; then
archs="aarch64* armv[567]* i686* x86_64* ppc64le*" archs="aarch64* armv[567]* i686* x86_64* ppc64le* riscv64*"
fi fi
hostmakedepends+=" go" hostmakedepends+=" go"
nopie=yes nopie=yes
@ -9,7 +9,7 @@ else
# gccgo compiler # gccgo compiler
if [ -z "$archs" ]; then if [ -z "$archs" ]; then
# we have support for these in our gcc # we have support for these in our gcc
archs="aarch64* armv[567]* i686* x86_64* ppc64*" archs="aarch64* armv[567]* i686* x86_64* ppc64* riscv64*"
fi fi
if [ "$CROSS_BUILD" ]; then if [ "$CROSS_BUILD" ]; then
# target compiler to use; otherwise it'll just call gccgo # target compiler to use; otherwise it'll just call gccgo
@ -29,6 +29,7 @@ case "$XBPS_TARGET_MACHINE" in
ppc*) export GOARCH=ppc;; ppc*) export GOARCH=ppc;;
mipsel*) export GOARCH=mipsle;; mipsel*) export GOARCH=mipsle;;
mips*) export GOARCH=mips;; mips*) export GOARCH=mips;;
riscv64*) export GOARCH=riscv64;;
esac esac
export GOPATH="${wrksrc}/_build-${pkgname}-xbps" export GOPATH="${wrksrc}/_build-${pkgname}-xbps"
@ -39,6 +40,10 @@ export CGO_CXXFLAGS="$CXXFLAGS"
export CGO_LDFLAGS="$LDFLAGS" export CGO_LDFLAGS="$LDFLAGS"
export CGO_ENABLED="${CGO_ENABLED:-1}" export CGO_ENABLED="${CGO_ENABLED:-1}"
export GO111MODULE=auto export GO111MODULE=auto
export GOTOOLCHAIN="${GOTOOLCHAIN:-local}"
export GOPROXY="https://proxy.golang.org,direct"
export GOSUMDB="sum.golang.org"
case "$XBPS_TARGET_MACHINE" in case "$XBPS_TARGET_MACHINE" in
*-musl) export GOCACHE="${XBPS_HOSTDIR}/gocache-muslc" ;; *-musl) export GOCACHE="${XBPS_HOSTDIR}/gocache-muslc" ;;
*) export GOCACHE="${XBPS_HOSTDIR}/gocache-glibc" ;; *) export GOCACHE="${XBPS_HOSTDIR}/gocache-glibc" ;;

View file

@ -1 +1,2 @@
hostmakedepends+=" meson" hostmakedepends+=" meson"
build_helper+=" meson"

View file

@ -1,2 +0,0 @@
lib32disabled=yes
makedepends+=" python python3"

View file

@ -1,4 +1,2 @@
# rsync isn't needed for everything but it's far easier to just put it here
hostmakedepends+=" rsync"
# python_version isn't needed for everything either # python_version isn't needed for everything either
python_version=3 python_version=3

View file

@ -26,6 +26,7 @@ scripts/attachfile2/pdfatfi.pl texlive
scripts/authorindex/authorindex texlive scripts/authorindex/authorindex texlive
scripts/bib2gls/bib2gls.sh texlive scripts/bib2gls/bib2gls.sh texlive
scripts/bib2gls/convertgls2bib.sh texlive scripts/bib2gls/convertgls2bib.sh texlive
scripts/bibcop/bibcop.pl texlive
scripts/bibexport/bibexport.sh texlive scripts/bibexport/bibexport.sh texlive
scripts/bundledoc/arlatex texlive scripts/bundledoc/arlatex texlive
scripts/bundledoc/bundledoc texlive scripts/bundledoc/bundledoc texlive
@ -33,17 +34,11 @@ scripts/cachepic/cachepic.tlu texlive-pictures
scripts/checkcites/checkcites.lua texlive scripts/checkcites/checkcites.lua texlive
scripts/checklistings/checklistings.sh texlive scripts/checklistings/checklistings.sh texlive
scripts/chklref/chklref.pl texlive scripts/chklref/chklref.pl texlive
scripts/citation-style-language/citeproc-lua.lua texlive
scripts/cjk-gs-integrate/cjk-gs-integrate.pl texlive scripts/cjk-gs-integrate/cjk-gs-integrate.pl texlive
scripts/clojure-pamphlet/pamphletangler texlive scripts/clojure-pamphlet/pamphletangler texlive
scripts/cluttex/cluttex.lua texlive scripts/cluttex/cluttex.lua texlive
scripts/context/perl/mptopdf.pl texlive scripts/context/perl/mptopdf.pl texlive
scripts/context/stubs/unix/contextjit texlive
scripts/context/stubs/unix/context texlive
scripts/context/stubs/unix/luatools texlive
scripts/context/stubs/unix/mtxrunjit texlive
scripts/context/stubs/unix/mtxrun texlive
scripts/context/stubs/unix/texexec texlive
scripts/context/stubs/unix/texmfstart texlive
scripts/convbkmk/convbkmk.rb texlive-langjapanese scripts/convbkmk/convbkmk.rb texlive-langjapanese
scripts/crossrefware/bbl2bib.pl texlive scripts/crossrefware/bbl2bib.pl texlive
scripts/crossrefware/bibdoiadd.pl texlive scripts/crossrefware/bibdoiadd.pl texlive
@ -57,6 +52,7 @@ scripts/ctan-o-mat/ctan-o-mat.pl texlive
scripts/ctanupload/ctanupload.pl texlive scripts/ctanupload/ctanupload.pl texlive
scripts/de-macro/de-macro texlive scripts/de-macro/de-macro texlive
scripts/diadia/diadia.lua texlive-humanities scripts/diadia/diadia.lua texlive-humanities
scripts/digestif/digestif.texlua texlive
scripts/dosepsbin/dosepsbin.pl texlive scripts/dosepsbin/dosepsbin.pl texlive
scripts/dtxgen/dtxgen texlive scripts/dtxgen/dtxgen texlive
scripts/dviasm/dviasm.py texlive scripts/dviasm/dviasm.py texlive
@ -102,6 +98,7 @@ scripts/listbib/listbib texlive
scripts/listings-ext/listings-ext.sh texlive scripts/listings-ext/listings-ext.sh texlive
scripts/ltxfileinfo/ltxfileinfo texlive scripts/ltxfileinfo/ltxfileinfo texlive
scripts/ltximg/ltximg.pl texlive scripts/ltximg/ltximg.pl texlive
scripts/luafindfont/luafindfont.lua texlive
scripts/luaotfload/luaotfload-tool.lua texlive scripts/luaotfload/luaotfload-tool.lua texlive
scripts/lwarp/lwarpmk.lua texlive scripts/lwarp/lwarpmk.lua texlive
scripts/make4ht/make4ht texlive scripts/make4ht/make4ht texlive
@ -116,6 +113,9 @@ scripts/m-tx/m-tx.lua texlive-music
scripts/multibibliography/multibibliography.pl texlive scripts/multibibliography/multibibliography.pl texlive
scripts/musixtex/musixflx.lua texlive-music scripts/musixtex/musixflx.lua texlive-music
scripts/musixtex/musixtex.lua texlive-music scripts/musixtex/musixtex.lua texlive-music
scripts/optexcount/optexcount texlive
scripts/pagelayout/pagelayoutapi texlive
scripts/pagelayout/textestvis texlive
scripts/pax/pdfannotextractor.pl texlive scripts/pax/pdfannotextractor.pl texlive
scripts/pdfbook2/pdfbook2 texlive scripts/pdfbook2/pdfbook2 texlive
scripts/pdfcrop/pdfcrop.pl texlive scripts/pdfcrop/pdfcrop.pl texlive
@ -155,6 +155,7 @@ scripts/srcredact/srcredact.pl texlive
scripts/sty2dtx/sty2dtx.pl texlive scripts/sty2dtx/sty2dtx.pl texlive
scripts/svn-multi/svn-multi.pl texlive scripts/svn-multi/svn-multi.pl texlive
scripts/tex4ebook/tex4ebook texlive scripts/tex4ebook/tex4ebook texlive
scripts/texaccents/texaccents.sno texlive
scripts/texcount/texcount.pl texlive scripts/texcount/texcount.pl texlive
scripts/texdef/texdef.pl texlive scripts/texdef/texdef.pl texlive
scripts/texdiff/texdiff texlive scripts/texdiff/texdiff texlive
@ -178,6 +179,8 @@ scripts/texlive-extra/texconfig-dialog.sh texlive
scripts/texlive-extra/texconfig.sh texlive scripts/texlive-extra/texconfig.sh texlive
scripts/texlive-extra/texconfig-sys.sh texlive scripts/texlive-extra/texconfig-sys.sh texlive
scripts/texlive-extra/texlinks.sh texlive scripts/texlive-extra/texlinks.sh texlive
scripts/texlive-extra/xelatex-unsafe.sh texlive
scripts/texlive-extra/xetex-unsafe.sh texlive
scripts/texlive/fmtutil.pl texlive scripts/texlive/fmtutil.pl texlive
scripts/texlive/fmtutil-sys.sh texlive scripts/texlive/fmtutil-sys.sh texlive
scripts/texlive/fmtutil-user.sh texlive scripts/texlive/fmtutil-user.sh texlive
@ -185,13 +188,15 @@ scripts/texlive/mktexlsr texlive
scripts/texlive/mktexmf texlive scripts/texlive/mktexmf texlive
scripts/texlive/mktexpk texlive scripts/texlive/mktexpk texlive
scripts/texlive/mktextfm texlive scripts/texlive/mktextfm texlive
scripts/texlive/rungs.lua texlive
scripts/texliveonfly/texliveonfly.py texlive scripts/texliveonfly/texliveonfly.py texlive
scripts/texlive/rungs.tlu texlive
scripts/texlive/tlmgr.pl texlive scripts/texlive/tlmgr.pl texlive
scripts/texlive/updmap.pl texlive scripts/texlive/updmap.pl texlive
scripts/texlive/updmap-sys.sh texlive scripts/texlive/updmap-sys.sh texlive
scripts/texlive/updmap-user.sh texlive scripts/texlive/updmap-user.sh texlive
scripts/texloganalyser/texloganalyser texlive scripts/texloganalyser/texloganalyser texlive
scripts/texlogfilter/texlogfilter texlive
scripts/texlogsieve/texlogsieve texlive
scripts/texosquery/texosquery-jre5.sh texlive scripts/texosquery/texosquery-jre5.sh texlive
scripts/texosquery/texosquery-jre8.sh texlive scripts/texosquery/texosquery-jre8.sh texlive
scripts/texosquery/texosquery.sh texlive scripts/texosquery/texosquery.sh texlive

View file

@ -0,0 +1,148 @@
## # general
#ac_cv_va_val_copy=${ac_cv_va_val_copy=yes}
#ac_cv_func_lstat_dereferences_slashed_symlink=${ac_cv_func_lstat_dereferences_slashed_symlink=yes}
## ac_cv_func_lstat_empty_string_bug=${ac_cv_func_lstat_empty_string_bug=no}
## ac_cv_func_posix_getpwnam_r=${ac_cv_func_posix_getpwnam_r=yes}
## ac_cv_func_setvbuf_reversed=${ac_cv_func_setvbuf_reversed=no}
## ac_cv_func_stat_empty_string_bug=${ac_cv_func_stat_empty_string_bug=no}
## ac_cv_func_stat_ignores_trailing_slash=${ac_cv_func_stat_ignores_trailing_slash=no}
## ac_libnet_have_packet_socket=${ac_libnet_have_packet_socket=yes}
## ac_cv_linux_vers=${ac_cv_linux_vers=2}
## ac_cv_need_trio=${ac_cv_need_trio=no}
#ac_cv_sizeof___int64=0
#ac_cv_sizeof_char=1
c_cv_sizeof_int=${ac_cv_sizeof_int=4}
ac_cv_sizeof_long=${ac_cv_sizeof_long=8}
ac_cv_sizeof_off_t=${ac_cv_sizeof_off_t=8}
ac_cv_sizeof_long_int=${ac_cv_sizeof_long_int=8}
#ac_cv_sizeof_long_long=8
#ac_cv_sizeof_short=2
#ac_cv_sizeof_size_t=8
#ac_cv_sizeof_ssize_t=8
#ac_cv_sizeof_void_p=8
#ac_cv_sizeof_unsigned_int=4
#ac_cv_sizeof_unsigned_long=8
ac_cv_sizeof_bool=1
## ac_cv_sizeof_long_double=${ac_cv_sizeof_long_double=16}
## ac_cv_sizeof_long_long=${ac_cv_sizeof_long_long=8}
#ac_cv_sizeof_unsigned_short=2
## ac_cv_sizeof_short_int=${ac_cv_sizeof_short_int=2}
## ac_cv_sizeof_size_t=${ac_cv_sizeof_size_t=8}
## ac_cv_sizeof_uid_t=${ac_cv_sizeof_uid_t=4}
## ac_cv_sizeof_gid_t=${ac_cv_sizeof_gid_t=4}
## ac_cv_sizeof_ino_t=${ac_cv_sizeof_ino_t=8}
## ac_cv_sizeof_dev_t=${ac_cv_sizeof_dev_t=8}
## ac_cv_sizeof_void_p=${ac_cv_sizeof_void_p=8}
## ac_cv_strerror_r_SUSv3=${ac_cv_strerror_r_SUSv3=no}
## db_cv_alignp_t=${db_cv_alignp_t='unsigned long long'}
## db_cv_align_t=${db_cv_align_t='unsigned long long'}
## db_cv_fcntl_f_setfd=${db_cv_fcntl_f_setfd=yes}
## db_cv_sprintf_count=${db_cv_sprintf_count=yes}
## ac_cv_sizeof_struct_iovec=16
# glib
#glib_cv_hasinline=${glib_cv_hasinline=yes}
#glib_cv_has__inline=${glib_cv_has__inline=yes}
#glib_cv_has__inline__=${glib_cv_has__inline__=yes}
#glib_cv_long_long_format=${glib_cv_long_long_format=ll}
#glib_cv_rtldglobal_broken=${glib_cv_rtldglobal_broken=no}
glib_cv_stack_grows=${glib_cv_stack_grows=no}
glib_cv_uscore=${glib_cv_uscore=no}
#glib_cv_va_val_copy=${glib_cv_va_val_copy=yes}
#ac_cv_alignof_guint32=4
#ac_cv_alignof_guint64=8
#ac_cv_alignof_unsigned_long=8
#ac_cv_alignof_char=1
#ac_cv_alignof_double=8
## nano_cv_func_regexec_segv_emptystr=${nano_cv_func_regexec_segv_emptystr=no}
## samba_cv_HAVE_VA_COPY=${samba_cv_HAVE_VA_COPY=yes}
## utils_cv_sys_open_max=${utils_cv_sys_open_max=1015}
# gettext
am_cv_func_working_getline=${am_cv_func_working_getline=yes}
#gcc
#ac_cv_lib_m_sin=${ac_cv_lib_m_sin=yes}
#orbit
#libIDL_cv_long_long_format=ll
## # ORBit2
## ac_cv_alignof_CORBA_boolean=1
## ac_cv_alignof_CORBA_char=1
## ac_cv_alignof_CORBA_double=8
## ac_cv_alignof_CORBA_float=4
## ac_cv_alignof_CORBA_long=4
## ac_cv_alignof_CORBA_long_double=8
## ac_cv_alignof_CORBA_long_long=8
## ac_cv_alignof_CORBA_octet=1
## ac_cv_alignof_CORBA_pointer=8
## ac_cv_alignof_CORBA_short=2
## ac_cv_alignof_CORBA_struct=1
## ac_cv_alignof_CORBA_wchar=2
##
## lf_cv_sane_realloc=yes
as_cv_unaligned_access=${as_cv_unaligned_access=no}
##
## #unfs3
## nfsd_cv_broken_setfsuid=${nfsd_cv_broken_setfsuid=0}
## nfsd_cv_func_statfs=${nfsd_cv_func_statfs=statfs2_bsize}
## nfsd_cv_bsd_signals=${nfsd_cv_bsd_signals=yes}
#apr
apr_cv_tcp_nodelay_with_cork=${apr_cv_tcp_nodelay_with_cork=yes}
# lftp
lftp_cv_va_val_copy=${lftp_cv_va_val_copy=yes}
# slrn
slrn_cv_va_val_copy=${slrn_cv_va_val_copy=yes}
# cvs
cvs_cv_func_printf_ptr=${cvs_cv_func_printf_ptr=yes}
## # at-spi2-core
#ac_cv_alignof_dbind_pointer=8
#ac_cv_alignof_dbind_struct=1
#ac_cv_alignof_dbus_bool_t=4
#ac_cv_alignof_dbus_int16_t=2
#ac_cv_alignof_dbus_int32_t=4
#ac_cv_alignof_dbus_int64_t=8
## # socat
#sc_cv_type_dev_basic='6 /* unsigned long */'
#sc_cv_type_gidt_basic='4 /* unsigned int */'
#sc_cv_type_longlong=yes
#sc_cv_type_modet_basic='4 /* unsigned int */'
#sc_cv_type_off64=yes
#sc_cv_type_off64_basic='5 /* long */'
#sc_cv_type_off_basic='5 /* long */'
#sc_cv_type_pidt_basic='3 /* int */'
#sc_cv_type_rlimit_rlimmax_basic='6 /* unsigned long */'
#sc_cv_type_sa_family_t=yes
#sc_cv_type_sighandler=yes
#sc_cv_type_sizet_basic='6 /* unsigned long */'
#sc_cv_type_socklen=yes
#sc_cv_type_socklent_basic='4 /* unsigned int */'
#sc_cv_type_stat64=yes
#sc_cv_type_stat64_stblksize_basic='3 /* int */'
#sc_cv_type_stat64_stblocks_basic='5 /* long */'
#sc_cv_type_stat64_stdev_basic='6 /* unsigned long */'
#sc_cv_type_stat64_stino_basic='6 /* unsigned long */'
#sc_cv_type_stat64_stnlink_basic='4 /* unsigned int */'
#sc_cv_type_stat64_stsize_basic='5 /* long */'
#sc_cv_type_stat_stblksize_basic='3 /* int */'
#sc_cv_type_stat_stblocks_basic='5 /* long */'
#sc_cv_type_stat_stino_basic='6 /* unsigned long */'
#sc_cv_type_stat_stnlink_basic='4 /* unsigned int */'
#sc_cv_type_stat_stsize_basic='5 /* long */'
#sc_cv_type_struct_timeval_tv_usec='5 /* long */'
#sc_cv_type_timet_basic='5 /* long */'
#sc_cv_type_uidt_basic='4 /* unsigned int */'
#sc_cv_type_uint16=yes
#sc_cv_type_uint32=yes
#sc_cv_type_uint64=yes
#sc_cv_type_uint8=yes
#sc_cv_typeof_struct_cmsghdr_cmsg_len='6 /* unsigned long */'

View file

@ -123,6 +123,10 @@ case "$XBPS_TARGET_MACHINE" in
. ${_AUTOCONFCACHEDIR}/powerpc-linux . ${_AUTOCONFCACHEDIR}/powerpc-linux
. ${_AUTOCONFCACHEDIR}/powerpc32-linux . ${_AUTOCONFCACHEDIR}/powerpc32-linux
;; ;;
riscv*)
. ${_AUTOCONFCACHEDIR}/endian-little
. ${_AUTOCONFCACHEDIR}/riscv64-linux
;;
*) ;; *) ;;
esac esac

View file

@ -24,7 +24,7 @@ if [ -z "$nopie" ]; then
fi fi
else else
CFLAGS="-fno-PIE ${CFLAGS}" CFLAGS="-fno-PIE ${CFLAGS}"
CXXFLAGS="-fno-PIE ${CFLAGS}" CXXFLAGS="-fno-PIE ${CXXFLAGS}"
FFLAGS="-fno-PIE ${FFLAGS}" FFLAGS="-fno-PIE ${FFLAGS}"
LDFLAGS="-no-pie ${LDFLAGS}" LDFLAGS="-no-pie ${LDFLAGS}"
fi fi

View file

@ -0,0 +1,182 @@
vextract() {
local sc=--strip-components=1
local dst=
while [ "$#" -ne 1 ]; do
case "$1" in
-C)
if [ -z "$2" ]; then
msg_error "$pkgver: vextract -C <directory>.\n"
fi
dst="$2"
mkdir -p "$dst"
shift 2
;;
--no-strip-components)
sc=
shift
;;
--strip-components=*)
sc="$1"
shift
;;
--)
shift; break ;;
*)
break ;;
esac
done
local TAR_CMD="${tar_cmd}"
local sfx
local archive="$1"
local ret=0
[ -z "$TAR_CMD" ] && TAR_CMD="$(command -v bsdtar)"
[ -z "$TAR_CMD" ] && TAR_CMD="$(command -v tar)"
[ -z "$TAR_CMD" ] && msg_error "xbps-src: no suitable tar cmd (bsdtar, tar)\n"
case "$archive" in
*.tar.lzma) sfx="txz";;
*.tar.lz) sfx="tlz";;
*.tlz) sfx="tlz";;
*.tar.xz) sfx="txz";;
*.txz) sfx="txz";;
*.tar.bz2) sfx="tbz";;
*.tbz) sfx="tbz";;
*.tar.gz) sfx="tgz";;
*.tgz) sfx="tgz";;
*.tar.zst) sfx="tzst";;
*.tzst) sfx="tzst";;
*.gz) sfx="gz";;
*.xz) sfx="xz";;
*.bz2) sfx="bz2";;
*.zst) sfx="zst";;
*.tar) sfx="tar";;
*.zip) sfx="zip";;
*.rpm) sfx="rpm";;
*.deb) sfx="deb";;
*.patch) sfx="txt";;
*.diff) sfx="txt";;
*.txt) sfx="txt";;
*.sh) sfx="txt";;
*.7z) sfx="7z";;
*.gem) sfx="gem";;
*.crate) sfx="crate";;
*) msg_error "$pkgver: unknown distfile suffix for $archive.\n";;
esac
case ${sfx} in
tar|txz|tbz|tlz|tgz|tzst|crate)
$TAR_CMD ${sc:+"$sc"} ${dst:+-C "$dst"} -x \
--no-same-permissions --no-same-owner \
-f $archive
;;
gz|bz2|xz|zst)
cp -f $archive "${dst:-.}"
(
if [ "$dst" ]; then cd "$dst"; fi
case ${sfx} in
gz)
gunzip -f ${archive##*/}
;;
bz2)
bunzip2 -f ${archive##*/}
;;
xz)
unxz -f ${archive##*/}
;;
zst)
unzstd ${archive##*/}
;;
esac
)
;;
zip)
if command -v unzip &>/dev/null; then
unzip -o -q $archive ${dst:+-d "$dst"}
elif command -v bsdtar &>/dev/null; then
bsdtar ${sc:+"$sc"} ${dst:+-C "$dst"} -xf $archive
else
msg_error "$pkgver: cannot find unzip or bsdtar bin for extraction.\n"
fi
;;
rpm)
if ! command -v bsdtar &>/dev/null; then
msg_error "$pkgver: cannot find bsdtar for extraction.\n"
fi
bsdtar ${sc:+"$sc"} ${dst:+-C "$dst"} -x \
--no-same-permissions --no-same-owner -f $archive
;;
deb)
if command -v bsdtar &>/dev/null; then
bsdtar -x -O -f "$archive" "data.tar.*" |
bsdtar ${sc:+"$sc"} ${dst:+-C "$dst"} -x \
--no-same-permissions --no-same-owner -f -
else
msg_error "$pkgver: cannot find bsdtar for extraction.\n"
fi
;;
txt)
cp -f $archive "$dst"
;;
7z)
if command -v 7z &>/dev/null; then
7z x $archive -o"$dst"
elif command -v bsdtar &>/dev/null; then
bsdtar ${sc:+"$sc"} ${dst:+-C "$dst"} -xf $archive
else
msg_error "$pkgver: cannot find 7z or bsdtar bin for extraction.\n"
fi
;;
gem)
$TAR_CMD -xOf $archive data.tar.gz |
$TAR_CMD ${sc:+"$sc"} ${dst:+-C "$dst"} -xz -f -
;;
*)
msg_error "$pkgver: cannot guess $archive extract suffix. ($sfx)\n"
;;
esac
if [ "$?" -ne 0 ]; then
msg_error "$pkgver: extracting $archive.\n"
fi
}
vsrcextract() {
local sc=--strip-components=1
local dst=
while [ "$#" -ge 1 ]; do
case "$1" in
-C)
if [ -z "$2" ]; then
msg_error "$pkgver: vsrcextract -C <directory>.\n"
fi
dst="$2"
shift 2
;;
--no-strip-components|--strip-components=*)
sc="$1"
shift
;;
*)
break ;;
esac
done
vextract "$sc" ${dst:+-C "$dst"} \
"${XBPS_SRCDISTDIR}/${pkgname}-${version}/$1"
}
vtar() {
bsdtar "$@"
}
vsrccopy() {
local _tgt
if [ $# -lt 2 ]; then
msg_error "vsrccopy <file>... <target>"
fi
_tgt="${@: -1}"
mkdir -p "$_tgt"
while [ $# -gt 1 ]; do
cp -a "${XBPS_SRCDISTDIR}/${pkgname}-${version}/$1" "$_tgt"
shift
done
}

View file

@ -15,10 +15,10 @@ elif [ -z "${SOURCE_DATE_EPOCH}" ]; then
fi fi
# check if the template is under version control: # check if the template is under version control:
if [ -n "$basepkg" -a -z "$($XBPS_GIT_CMD -C ${XBPS_SRCPKGDIR}/${basepkg} ls-files template)" ]; then if [ -n "$basepkg" -a -z "$($XBPS_GIT_CMD -C ${XBPS_SRCPKGDIR}/${basepkg} ls-files template)" ]; then
export SOURCE_DATE_EPOCH="$(stat -c %Y ${XBPS_SRCPKGDIR}/${basepkg}/template)" export SOURCE_DATE_EPOCH="$(stat_mtime ${XBPS_SRCPKGDIR}/${basepkg}/template)"
else else
export SOURCE_DATE_EPOCH=$($XBPS_GIT_CMD -C ${XBPS_DISTDIR} cat-file commit HEAD | export SOURCE_DATE_EPOCH=$($XBPS_GIT_CMD -C ${XBPS_DISTDIR} cat-file commit HEAD |
sed -n '/^committer /{s/.*> \([0-9][0-9]*\) [-+][0-9].*/\1/p;q}') sed -n '/^committer /{s/.*> \([0-9][0-9]*\) [-+][0-9].*/\1/p;q;}')
fi fi
fi fi

View file

@ -9,11 +9,13 @@ unalias -a
# disable wildcards helper # disable wildcards helper
_noglob_helper() { _noglob_helper() {
set +f set +f
"$@" IFS= "$@"
} }
# Apply _noglob to v* commands # 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; do
# intentionally expanded when defined
# shellcheck disable=SC2139
alias ${cmd}="set -f; _noglob_helper _${cmd}" alias ${cmd}="set -f; _noglob_helper _${cmd}"
done done
@ -24,6 +26,8 @@ _vsv() {
local svdir="${PKGDESTDIR}/etc/sv/${service}" local svdir="${PKGDESTDIR}/etc/sv/${service}"
if [ $# -lt 1 ] || [ $# -gt 2 ]; then if [ $# -lt 1 ] || [ $# -gt 2 ]; then
# pkgver is defined in common/xbps-src/shutils/commmon.sh
# shellcheck disable=SC2154
msg_red "$pkgver: vsv: up to 2 arguments expected: <service> [<log facility>]\n" msg_red "$pkgver: vsv: up to 2 arguments expected: <service> [<log facility>]\n"
return 1 return 1
fi fi
@ -34,26 +38,26 @@ _vsv() {
vmkdir etc/sv vmkdir etc/sv
vcopy "${FILESDIR}/$service" etc/sv vcopy "${FILESDIR}/$service" etc/sv
if [ ! -L $svdir/run ]; then if [ ! -L "$svdir/run" ]; then
grep -Fq 'exec 2>&1' $svdir/run || msg_warn "$pkgver: vsv: service '$service' does not contain 'exec 2>&1' to log stderr\n" grep -Fq 'exec 2>&1' "$svdir/run" || msg_warn "$pkgver: vsv: service '$service' does not contain 'exec 2>&1' to log stderr\n"
chmod 755 $svdir/run chmod 755 "$svdir/run"
fi fi
if [ -e $svdir/finish ] && [ ! -L $svdir/finish ]; then if [ -e "$svdir/finish" ] && [ ! -L "$svdir/finish" ]; then
chmod 755 $svdir/finish chmod 755 "$svdir/finish"
fi fi
ln ${LN_OPTS} /run/runit/supervise.${service} $svdir/supervise ln ${LN_OPTS} "/run/runit/supervise.${service}" "$svdir/supervise"
if [ -d $svdir/log ] || [ -L $svdir/log ]; then if [ -d "$svdir/log" ] || [ -L "$svdir/log" ]; then
msg_warn "$pkgver: vsv: overriding default log service\n" msg_warn "$pkgver: vsv: overriding default log service\n"
else else
mkdir $svdir/log mkdir "$svdir/log"
cat <<-EOF > $svdir/log/run cat <<-EOF > "$svdir/log/run"
#!/bin/sh #!/bin/sh
exec vlogger -t $service -p $facility exec vlogger -t $service -p $facility
EOF EOF
fi fi
ln ${LN_OPTS} /run/runit/supervise.${service}-log $svdir/log/supervise ln ${LN_OPTS} "/run/runit/supervise.${service}-log" "$svdir/log/supervise"
if [ -e $svdir/log/run ] && [ ! -L $svdir/log/run ]; then if [ -e "$svdir/log/run" ] && [ ! -L "$svdir/log/run" ]; then
chmod 755 ${PKGDESTDIR}/etc/sv/${service}/log/run chmod 755 "${PKGDESTDIR}/etc/sv/${service}/log/run"
fi fi
} }
@ -120,6 +124,8 @@ _vdoc() {
return 1 return 1
fi fi
# pkgname is defined in the package
# shellcheck disable=SC2154
vinstall "$file" 644 "usr/share/doc/${pkgname}" "$targetfile" vinstall "$file" 644 "usr/share/doc/${pkgname}" "$targetfile"
} }
@ -175,9 +181,9 @@ _vinstall() {
fi fi
if [ -z "$targetfile" ]; then if [ -z "$targetfile" ]; then
install -Dm${mode} "${file}" "${PKGDESTDIR}/${targetdir}/${file##*/}" install -Dm"${mode}" "${file}" "${PKGDESTDIR}/${targetdir}/${file##*/}"
else else
install -Dm${mode} "${file}" "${PKGDESTDIR}/${targetdir}/${targetfile##*/}" install -Dm"${mode}" "${file}" "${PKGDESTDIR}/${targetdir}/${targetfile##*/}"
fi fi
} }
@ -193,7 +199,9 @@ _vcopy() {
return 1 return 1
fi fi
cp -a $files ${PKGDESTDIR}/${targetdir} # intentionally unquoted for globbing
# shellcheck disable=SC2086
cp -a $files "${PKGDESTDIR}/${targetdir}"
} }
_vmove() { _vmove() {
@ -219,13 +227,17 @@ _vmove() {
done done
if [ -z "${_targetdir}" ]; then if [ -z "${_targetdir}" ]; then
[ ! -d ${PKGDESTDIR} ] && install -d ${PKGDESTDIR} [ ! -d "${PKGDESTDIR}" ] && install -d "${PKGDESTDIR}"
mv ${DESTDIR}/$files ${PKGDESTDIR} # intentionally unquoted for globbing
# shellcheck disable=SC2086
mv "${DESTDIR}"/$files "${PKGDESTDIR}"
else else
if [ ! -d ${PKGDESTDIR}/${_targetdir} ]; then if [ ! -d "${PKGDESTDIR}/${_targetdir}" ]; then
install -d ${PKGDESTDIR}/${_targetdir} install -d "${PKGDESTDIR}/${_targetdir}"
fi fi
mv ${DESTDIR}/$files ${PKGDESTDIR}/${_targetdir} # intentionally unquoted for globbing
# shellcheck disable=SC2086
mv "${DESTDIR}"/$files "${PKGDESTDIR}/${_targetdir}"
fi fi
} }
@ -243,9 +255,9 @@ _vmkdir() {
fi fi
if [ -z "$mode" ]; then if [ -z "$mode" ]; then
install -d ${PKGDESTDIR}/${dir} install -d "${PKGDESTDIR}/${dir}"
else else
install -dm${mode} ${PKGDESTDIR}/${dir} install -dm"${mode}" "${PKGDESTDIR}/${dir}"
fi fi
} }

View file

@ -36,3 +36,11 @@ vopt_bool() {
fi fi
vopt_if "$1" "-D${prop}=true" "-D${prop}=false" vopt_if "$1" "-D${prop}=true" "-D${prop}=false"
} }
vopt_feature() {
local opt="$1" prop="${2:-$1}"
if [ "$#" -gt "2" ]; then
msg_error "vopt_feature $opt: $(($# - 2)) excess parameter(s)\n"
fi
vopt_if "$1" "-D${prop}=enabled" "-D${prop}=disabled"
}

View file

@ -7,7 +7,7 @@ py2_lib="usr/lib/python${py2_ver}"
py2_sitelib="${py2_lib}/site-packages" py2_sitelib="${py2_lib}/site-packages"
py2_inc="usr/include/python${py2_ver}" py2_inc="usr/include/python${py2_ver}"
py3_ver="3.11" py3_ver="3.12"
py3_abiver="" py3_abiver=""
py3_lib="usr/lib/python${py3_ver}" py3_lib="usr/lib/python${py3_ver}"
py3_sitelib="${py3_lib}/site-packages" py3_sitelib="${py3_lib}/site-packages"

View file

@ -5,7 +5,13 @@
for var in $(awk 'BEGIN{for (i in ENVIRON) {print i}}' </dev/null); do for var in $(awk 'BEGIN{for (i in ENVIRON) {print i}}' </dev/null); do
# Those variables in chroot.sh will be kept # Those variables in chroot.sh will be kept
case "$var" in case "$var" in
XBPS_* | IN_CHROOT | CHROOT_READY | SOURCE_DATE_EPOCH) BASH_FUNC_*'%%')
# bash exported functions
var="${var%??}"
var="${var#BASH_FUNC_}"
unset -f "$var"
;;
XBPS_* | IN_CHROOT | CHROOT_READY | SOURCE_DATE_EPOCH | NOCOLORS)
# xbps-src specific # xbps-src specific
;; ;;
SOURCEFORGE_SITE | NONGNU_SITE | XORG_SITE | DEBIAN_SITE | GNOME_SITE) SOURCEFORGE_SITE | NONGNU_SITE | XORG_SITE | DEBIAN_SITE | GNOME_SITE)

View file

@ -45,128 +45,7 @@ hook() {
unset found unset found
continue continue
fi fi
vsrcextract --no-strip-components -C "$extractdir" "$curfile"
case $curfile in
*.tar.lzma) cursufx="txz";;
*.tar.lz) cursufx="tlz";;
*.tlz) cursufx="tlz";;
*.tar.xz) cursufx="txz";;
*.txz) cursufx="txz";;
*.tar.bz2) cursufx="tbz";;
*.tbz) cursufx="tbz";;
*.tar.gz) cursufx="tgz";;
*.tgz) cursufx="tgz";;
*.tar.zst) cursufx="tzst";;
*.tzst) cursufx="tzst";;
*.gz) cursufx="gz";;
*.xz) cursufx="xz";;
*.bz2) cursufx="bz2";;
*.zst) cursufx="zst";;
*.tar) cursufx="tar";;
*.zip) cursufx="zip";;
*.rpm) cursufx="rpm";;
*.deb) cursufx="deb";;
*.patch) cursufx="txt";;
*.diff) cursufx="txt";;
*.txt) cursufx="txt";;
*.sh) cursufx="txt";;
*.7z) cursufx="7z";;
*.gem) cursufx="gem";;
*.crate) cursufx="crate";;
*) msg_error "$pkgver: unknown distfile suffix for $curfile.\n";;
esac
case ${cursufx} in
tar|txz|tbz|tlz|tgz|tzst|crate)
$TAR_CMD -x --no-same-permissions --no-same-owner -f $srcdir/$curfile -C "$extractdir"
if [ $? -ne 0 ]; then
msg_error "$pkgver: extracting $curfile into $XBPS_BUILDDIR.\n"
fi
;;
gz|bz2|xz|zst)
cp -f $srcdir/$curfile "$extractdir"
cd "$extractdir"
case ${cursufx} in
gz)
gunzip -f $curfile
;;
bz2)
bunzip2 -f $curfile
;;
xz)
unxz -f $curfile
;;
zst)
unzstd $curfile
;;
esac
;;
zip)
if command -v unzip &>/dev/null; then
unzip -o -q $srcdir/$curfile -d "$extractdir"
if [ $? -ne 0 ]; then
msg_error "$pkgver: extracting $curfile into $XBPS_BUILDDIR.\n"
fi
elif command -v bsdtar &>/dev/null; then
bsdtar -xf $srcdir/$curfile -C "$extractdir"
if [ $? -ne 0 ]; then
msg_error "$pkgver: extracting $curfile into $XBPS_BUILDDIR.\n"
fi
else
msg_error "$pkgver: cannot find unzip or bsdtar bin for extraction.\n"
fi
;;
rpm)
if ! command -v bsdtar &>/dev/null; then
msg_error "$pkgver: cannot find bsdtar for extraction.\n"
fi
bsdtar -x --no-same-permissions --no-same-owner -f $srcdir/$curfile -C "$extractdir"
if [ $? -ne 0 ]; then
msg_error "$pkgver: extracting $curfile into $XBPS_BUILDDIR.\n"
fi
;;
deb)
if command -v bsdtar &>/dev/null; then
bsdtar -x -O -f "$srcdir/$curfile" "data.tar.*" |
bsdtar -C "$extractdir" -x --no-same-permissions --no-same-owner
if [ $? -ne 0 ]; then
msg_error "$pkgver: extracting $curfile into $XBPS_BUILDDIR.\n"
fi
else
msg_error "$pkgver: cannot find bsdtar for extraction.\n"
fi
;;
txt)
cp -f $srcdir/$curfile "$extractdir"
;;
7z)
if command -v 7z &>/dev/null; then
7z x $srcdir/$curfile -o"$extractdir"
if [ $? -ne 0 ]; then
msg_error "$pkgver: extracting $curfile into $XBPS_BUILDDIR.\n"
fi
elif command -v bsdtar &>/dev/null; then
bsdtar -xf $srcdir/$curfile -C "$extractdir"
if [ $? -ne 0 ]; then
msg_error "$pkgver: extracting $curfile into $XBPS_BUILDDIR.\n"
fi
else
msg_error "$pkgver: cannot find 7z or bsdtar bin for extraction.\n"
fi
;;
gem)
innerdir="$extractdir/${wrksrc##*/}"
mkdir -p "$innerdir"
$TAR_CMD -xOf $srcdir/$curfile data.tar.gz |
$TAR_CMD -xz -C "$innerdir" -f -
if [ $? -ne 0 ]; then
msg_error "$pkgver: extracting $curfile into $XBPS_BUILDDIR.\n"
fi
;;
*)
msg_error "$pkgver: cannot guess $curfile extract suffix. ($cursufx)\n"
;;
esac
done done
cd "$extractdir" cd "$extractdir"

View file

@ -253,7 +253,7 @@ hook() {
if [[ $cksum = $filesum ]]; then if [[ $cksum = $filesum ]]; then
dfgood=$((dfgood + 1)) dfgood=$((dfgood + 1))
else else
inode=$(stat "$distfile" --printf "%i") inode=$(stat_inode "$distfile")
msg_warn "$pkgver: wrong checksum found for ${curfile} - purging\n" msg_warn "$pkgver: wrong checksum found for ${curfile} - purging\n"
find ${XBPS_SRCDISTDIR} -inum ${inode} -delete -print find ${XBPS_SRCDISTDIR} -inum ${inode} -delete -print
fi fi

View file

@ -15,8 +15,7 @@ hook() {
rm -f ${PKGDESTDIR}/usr/share/info/dir rm -f ${PKGDESTDIR}/usr/share/info/dir
fi fi
find ${PKGDESTDIR}/usr/share/info -type f -follow | while read f find ${PKGDESTDIR}/usr/share/info -type f -follow | while read -r f; do
do
j=$(echo "$f"|sed -e "$fpattern") j=$(echo "$f"|sed -e "$fpattern")
[ "$j" = "" ] && continue [ "$j" = "" ] && continue
[ "$j" = "/usr/share/info/dir" ] && continue [ "$j" = "/usr/share/info/dir" ] && continue

View file

@ -9,8 +9,7 @@ hook() {
fi fi
# rewrite symlinks # rewrite symlinks
find $mandir -type l -regex '.*\.\(gz\|bz2\)' | while read f find $mandir -type l -regex '.*\.\(gz\|bz2\)' | while read -r f; do
do
lnkat=$(readlink "$f") lnkat=$(readlink "$f")
ln -s ${lnkat%.*} ${f%.*} ln -s ${lnkat%.*} ${f%.*}
rm $f rm $f

View file

@ -2,7 +2,7 @@
hook() { hook() {
if [ -d "${PKGDESTDIR}" ]; then if [ -d "${PKGDESTDIR}" ]; then
find "${PKGDESTDIR}" -mindepth 1 -type d -empty -print -delete|sort -r|while read f; do find "${PKGDESTDIR}" -mindepth 1 -type d -empty -print -delete|sort -r|while read -r f; do
_dir="${f##${PKGDESTDIR}}" _dir="${f##${PKGDESTDIR}}"
msg_warn "$pkgver: removed empty dir: ${_dir}\n" msg_warn "$pkgver: removed empty dir: ${_dir}\n"
done done

View file

@ -119,10 +119,16 @@ _EOF
# #
# Handle binfmts trigger # Handle binfmts trigger
# #
if [ -n "${binfmts}" ]; then if [ -n "${binfmts}" ] || [ -d "${PKGDESTDIR}/usr/share/binfmts" ]; then
_add_trigger binfmts _add_trigger binfmts
fi
if [ -n "${binfmts}" ]; then
echo "export binfmts=\"${binfmts}\"" >> $tmpf echo "export binfmts=\"${binfmts}\"" >> $tmpf
fi fi
if [ -d "${PKGDESTDIR}/usr/share/binfmts" ]; then
_import_binfmts="$(find "${PKGDESTDIR}/usr/share/binfmts" -type f -printf '%f\n')"
echo "export import_binfmts=\"${_import_binfmts}\"" >> $tmpf
fi
# #
# Handle GNU Info files. # Handle GNU Info files.
# #
@ -272,7 +278,7 @@ _EOF
fi fi
fi fi
if [ -n "$python_version" ]; then if [ -n "$python_version" ] && [ "$python_version" != ignore ]; then
pycompile_version=${python_version} pycompile_version=${python_version}
fi fi

View file

@ -65,7 +65,7 @@ hook() {
STRIPCMD=/usr/bin/$STRIP STRIPCMD=/usr/bin/$STRIP
find ${PKGDESTDIR} -type f | while read f; do find ${PKGDESTDIR} -type f | while read -r f; do
if [[ $f =~ ^${PKGDESTDIR}/usr/lib/debug/ ]]; then if [[ $f =~ ^${PKGDESTDIR}/usr/lib/debug/ ]]; then
continue continue
fi fi

View file

@ -16,7 +16,8 @@ hook() {
# s,/usr/armv7l-linux-musleabihf/usr,/usr,g # s,/usr/armv7l-linux-musleabihf/usr,/usr,g
# trailing /usr to avoid clashing with # trailing /usr to avoid clashing with
# other $XBPS_CROSS_BASE and $XBPS_CROSS_TRIPLET. # other $XBPS_CROSS_BASE and $XBPS_CROSS_TRIPLET.
sed -i -e "s,$XBPS_CROSS_BASE/usr,/usr,g" "$f" sed -i --follow-symlinks \
-e "s,$XBPS_CROSS_BASE/usr,/usr,g" "$f"
fi fi
done done
} }

View file

@ -61,7 +61,7 @@ hook() {
elif [ "$lib32mode" = "full" ]; then elif [ "$lib32mode" = "full" ]; then
# Full 32bit mode; copy everything to new destdir. # Full 32bit mode; copy everything to new destdir.
mkdir -p ${destdir32} mkdir -p ${destdir32}
cp -a ${PKGDESTDIR}/* ${destdir32}/ cp -a ${PKGDESTDIR}/. ${destdir32}/
# remove symlink # remove symlink
if [ -h ${destdir32}/usr/lib32 ]; then if [ -h ${destdir32}/usr/lib32 ]; then
rm ${destdir32}/usr/lib32 rm ${destdir32}/usr/lib32
@ -74,74 +74,11 @@ hook() {
if [[ ${pkgname} == *-devel ]]; then if [[ ${pkgname} == *-devel ]]; then
mkdir -p ${destdir32} mkdir -p ${destdir32}
fi fi
if [ ! -d ${destdir32} ]; then if [ ! -d ${destdir32} ]; then
return return
fi fi
# If the rdeps file exist (runtime deps), copy and then modify it for
# 32bit dependencies.
trap - ERR
: > ${destdir32}/rdeps
if [ -s "$PKGDESTDIR/rdeps" ]; then
if [ -n "$lib32depends" ]; then
_deps="${lib32depends}"
else
_deps="$(<${PKGDESTDIR}/rdeps)"
fi
for f in ${_deps}; do
unset found pkgn pkgv _shprovides
pkgn="$($XBPS_UHELPER_CMD getpkgdepname $f)"
if [ -z "${pkgn}" ]; then
pkgn="$($XBPS_UHELPER_CMD getpkgname $f)"
if [ -z "${pkgn}" ]; then
msg_error "$pkgver: invalid dependency $f\n"
fi
pkgv="-$($XBPS_UHELPER_CMD getpkgversion ${f})"
else
pkgv="$($XBPS_UHELPER_CMD getpkgdepversion ${f})"
fi
# If dependency is a development pkg switch it to 32bit.
if [[ $pkgn == *-devel ]]; then
echo " RDEP: $f -> ${pkgn}-32bit${pkgv} (development)"
printf "${pkgn}-32bit${pkgv} " >> ${destdir32}/rdeps
continue
fi
# If dependency does not have "shlib-provides" do not
# change it to 32bit.
for x in ${subpackages}; do
if [ "$x" = "$pkgn" ]; then
found=1
break
fi
done
if [ -z "$found" ]; then
# Dependency is not a subpkg, check shlib-provides
# via binpkgs.
_shprovides="$($XBPS_QUERY_CMD -R --property=shlib-provides "$pkgn")"
if [ -n "${_shprovides}" ]; then
echo " RDEP: $f -> ${pkgn}-32bit${pkgv} (shlib-provides)"
printf "${pkgn}-32bit${pkgv} " >> ${destdir32}/rdeps
else
echo " RDEP: $f -> ${pkgn}${pkgv} (no shlib-provides)"
printf "${pkgn}${pkgv} " >> ${destdir32}/rdeps
fi
else
if [ -s ${XBPS_DESTDIR}/${pkgn}-${version}/shlib-provides ]; then
# Dependency is a subpkg; check if it provides any shlib
# and convert to 32bit if true.
echo " RDEP: $f -> ${pkgn}-32bit${pkgv} (subpkg, shlib-provides)"
printf "${pkgn}-32bit${pkgv} " >> ${destdir32}/rdeps
else
echo " RDEP: $f -> ${pkgn}${pkgv} (subpkg, no shlib-provides)"
printf "${pkgn}${pkgv} " >> ${destdir32}/rdeps
fi
fi
done
fi
# Also install additional files set via "lib32files". # Also install additional files set via "lib32files".
for f in ${lib32files}; do for f in ${lib32files}; do
echo "$pkgver: installing additional files: $f ..." echo "$pkgver: installing additional files: $f ..."
@ -149,6 +86,7 @@ hook() {
mkdir -p ${_targetdir/\/usr\/lib/\/usr\/lib32} mkdir -p ${_targetdir/\/usr\/lib/\/usr\/lib32}
cp -a ${PKGDESTDIR}/${f} ${_targetdir/\/usr\/lib/\/usr\/lib32} cp -a ${PKGDESTDIR}/${f} ${_targetdir/\/usr\/lib/\/usr\/lib32}
done done
# Additional symlinks to the native libdir. # Additional symlinks to the native libdir.
for f in ${lib32symlinks}; do for f in ${lib32symlinks}; do
echo "$pkgver: symlinking $f to the native libdir..." echo "$pkgver: symlinking $f to the native libdir..."
@ -159,10 +97,4 @@ hook() {
fi fi
ln -sfr ${destdir32}/usr/lib32/$f ${destdir32}/usr/lib/$f ln -sfr ${destdir32}/usr/lib32/$f ${destdir32}/usr/lib/$f
done done
# If it's a development pkg add a dependency to the 64bit pkg.
if [[ $pkgn == *-devel ]]; then
echo " RDEP: ${pkgver}"
printf "${pkgver} " >> ${destdir32}/rdeps
fi
printf "\n" >> ${destdir32}/rdeps
} }

View file

@ -6,19 +6,30 @@ collect_sonames() {
local _pattern="^[[:alnum:]]+(.*)+\.so(\.[0-9]+)*$" local _pattern="^[[:alnum:]]+(.*)+\.so(\.[0-9]+)*$"
local _versioned_pattern="^[[:alnum:]]+(.*)+\.so(\.[0-9]+)+$" local _versioned_pattern="^[[:alnum:]]+(.*)+\.so(\.[0-9]+)+$"
local _tmpfile=$(mktemp) || exit 1 local _tmpfile=$(mktemp) || exit 1
local _mainpkg="$2"
local _shlib_dir="${XBPS_STATEDIR}/shlib-provides"
local _no_soname=$(mktemp) || exit 1
mkdir -p "${_shlib_dir}" || exit 1
if [ ! -d ${_destdir} ]; then if [ ! -d ${_destdir} ]; then
rm -f ${_tmpfile} rm -f ${_tmpfile}
rm -f ${_no_soname}
return 0 return 0
fi fi
# real pkg # real pkg
find ${_destdir} -type f -name "*.so*" | while read f; do find ${_destdir} -type f -name "*.so*" | while read f; do
_fname="${f##*/}" _fname="${f##*/}"
case "$(file -bi "$f")" in case "$(file -bi "$f")" in
application/x-sharedlib*|application/x-pie-executable*) application/x-sharedlib*|application/x-pie-executable*)
# shared library # shared library
_soname=$(${OBJDUMP} -p "$f"|grep SONAME|awk '{print $2}') _soname=$(${OBJDUMP} -p "$f"|awk '/SONAME/{print $2}')
if [ -n "$noshlibprovides" ]; then
# register all shared lib for rt-deps between sub-pkg
echo "${_fname}" >>${_no_soname}
continue
fi
# Register all versioned sonames, and # Register all versioned sonames, and
# unversioned sonames only when in libdir. # unversioned sonames only when in libdir.
if [[ ${_soname} =~ ${_versioned_pattern} ]] || if [[ ${_soname} =~ ${_versioned_pattern} ]] ||
@ -27,6 +38,9 @@ collect_sonames() {
-e ${_destdir}/usr/lib32/${_fname} ) ]]; then -e ${_destdir}/usr/lib32/${_fname} ) ]]; then
echo "${_soname}" >> ${_tmpfile} echo "${_soname}" >> ${_tmpfile}
echo " SONAME ${_soname} from ${f##${_destdir}}" echo " SONAME ${_soname} from ${f##${_destdir}}"
else
# register all shared lib for rt-deps between sub-pkg
echo "${_fname}" >>${_no_soname}
fi fi
;; ;;
esac esac
@ -38,19 +52,37 @@ collect_sonames() {
if [ -s "${_tmpfile}" ]; then if [ -s "${_tmpfile}" ]; then
tr '\n' ' ' < "${_tmpfile}" > ${_destdir}/shlib-provides tr '\n' ' ' < "${_tmpfile}" > ${_destdir}/shlib-provides
echo >> ${_destdir}/shlib-provides echo >> ${_destdir}/shlib-provides
if [ "$_mainpkg" ]; then
cp "${_tmpfile}" "${_shlib_dir}/${pkgname}.soname"
fi
fi
if [ "$_mainpkg" ] && [ -s "${_no_soname}" ]; then
mv "${_no_soname}" "${_shlib_dir}/${pkgname}.nosoname"
else
rm -f ${_no_soname}
fi fi
rm -f ${_tmpfile} rm -f ${_tmpfile}
} }
hook() { hook() {
local _destdir32=${XBPS_DESTDIR}/${pkgname}-32bit-${version} local _destdir32=${XBPS_DESTDIR}/${pkgname}-32bit-${version}
local _mainpkg=yes
local _pkg
if [ -n "$noshlibprovides" ]; then case "$pkgname" in
return 0 *-32bit)
_pkgname=${pkgname%-32bit}
for _pkg in $sourcepkg $subpackages; do
if [ "$_pkg" = "$_pkgname" ]; then
_mainpkg=
break
fi fi
done
;;
esac
# native pkg # native pkg
collect_sonames ${PKGDESTDIR} collect_sonames ${PKGDESTDIR} $_mainpkg
# 32bit pkg # 32bit pkg
collect_sonames ${_destdir32} collect_sonames ${_destdir32}
} }

View file

@ -238,7 +238,6 @@ hook() {
generic_wrapper3 libetpan-config generic_wrapper3 libetpan-config
generic_wrapper3 giblib-config generic_wrapper3 giblib-config
python_wrapper python-config 2.7 python_wrapper python-config 2.7
python_wrapper python3-config 3.11 python_wrapper python3-config 3.12
apr_apu_wrapper apr-1-config
apr_apu_wrapper apu-1-config apr_apu_wrapper apu-1-config
} }

View file

@ -12,6 +12,10 @@ hook() {
pyver="$python_version" pyver="$python_version"
fi fi
if [ "$python_version" = ignore ]; then
return
fi
if [ -n "$pyver" ]; then if [ -n "$pyver" ]; then
default_shebang="#!/usr/bin/python${pyver%.*}" default_shebang="#!/usr/bin/python${pyver%.*}"
fi fi

View file

@ -40,13 +40,14 @@ store_pkgdestdir_rundeps() {
-z "$($XBPS_UHELPER_CMD getpkgname ${_curdep} 2>/dev/null)" ]; then -z "$($XBPS_UHELPER_CMD getpkgname ${_curdep} 2>/dev/null)" ]; then
_curdep="${_curdep}>=0" _curdep="${_curdep}>=0"
fi fi
printf -- "${_curdep}\n" printf "%s " "${_curdep}"
done | sort | xargs > ${PKGDESTDIR}/rdeps done > "${PKGDESTDIR}/rdeps"
fi fi
} }
hook() { hook() {
local depsftmp f lf j mapshlibs sorequires _curdep elfmagic broken_shlibs verify_deps local depsftmp f lf j mapshlibs sorequires _curdep elfmagic broken_shlibs verify_deps
local _shlib_dir="${XBPS_STATEDIR}/shlib-provides"
# Disable trap on ERR, xbps-uhelper cmd might return error... but not something # Disable trap on ERR, xbps-uhelper cmd might return error... but not something
# to be worried about because if there are broken shlibs this hook returns # to be worried about because if there are broken shlibs this hook returns
@ -69,7 +70,7 @@ hook() {
exec 3<&0 # save stdin exec 3<&0 # save stdin
exec < $depsftmp exec < $depsftmp
while read f; do while read -r f; do
lf=${f#${PKGDESTDIR}} lf=${f#${PKGDESTDIR}}
if [ "${skiprdeps/${lf}/}" != "${skiprdeps}" ]; then if [ "${skiprdeps/${lf}/}" != "${skiprdeps}" ]; then
msg_normal "Skipping dependency scan for ${lf}\n" msg_normal "Skipping dependency scan for ${lf}\n"
@ -95,39 +96,33 @@ hook() {
# above, the mapping is done thru the common/shlibs file. # above, the mapping is done thru the common/shlibs file.
# #
for f in ${verify_deps}; do for f in ${verify_deps}; do
unset _f j rdep _rdep rdepcnt soname _pkgname _rdepver found unset _rdep _pkgname _rdepver
_f=$(echo "$f"|sed -E 's|\+|\\+|g')
rdep="$(grep -E "^${_f}[[:blank:]]+.*$" $mapshlibs|cut -d ' ' -f2)" local _findargs="-name"
rdepcnt="$(grep -E "^${_f}[[:blank:]]+.*$" $mapshlibs|cut -d ' ' -f2|wc -l)" # if SONAME is a path, find should use -wholename
if [ -z "$rdep" ]; then if [[ "$f" = */* ]]; then
_findargs="-wholename"
fi
if [ "$(find "${PKGDESTDIR}" $_findargs "$f")" ]; then
# Ignore libs by current pkg # Ignore libs by current pkg
soname=$(find ${PKGDESTDIR} -name "$f") echo " SONAME: $f <-> $pkgname (ignored)"
if [ -z "$soname" ]; then continue
# If this library is provided by a subpkg of sourcepkg, use that subpkg
elif _pkgname="$(cd "$_shlib_dir" && grep -F -l -x "$f" *.soname 2>/dev/null)"; then
# If that library has SONAME, add it to shlibs-requires, too.
_pkgname=${_pkgname%.soname}
_sdep="${_pkgname}-${version}_${revision}"
sorequires+="${f} "
elif _pkgname="$(cd "$_shlib_dir" && grep -F -l -x "$f" *.nosoname 2>/dev/null)"; then
_pkgname=${_pkgname%.nosoname}
_sdep="${_pkgname}-${version}_${revision}"
else
_rdep="$(awk -v sl="$f" '$1 == sl { print $2; exit; }' "$mapshlibs")"
if [ -z "$_rdep" ]; then
msg_red_nochroot " SONAME: $f <-> UNKNOWN PKG PLEASE FIX!\n" msg_red_nochroot " SONAME: $f <-> UNKNOWN PKG PLEASE FIX!\n"
broken_shlibs=1 broken_shlibs=1
else
echo " SONAME: $f <-> $pkgname (ignored)"
fi
continue continue
elif [ "$rdepcnt" -gt 1 ]; then
unset j found
# Check if shlib is provided by multiple pkgs.
for j in ${rdep}; do
_pkgname=$($XBPS_UHELPER_CMD getpkgname "$j")
# if there's a SONAME matching pkgname, use it.
for x in ${pkgname} ${subpackages}; do
[[ $_pkgname == $x ]] && found=1 && break
done
[[ $found ]] && _rdep=$j && break
done
if [ -z "${_rdep}" ]; then
# otherwise pick up the first one.
for j in ${rdep}; do
[ -z "${_rdep}" ] && _rdep=$j
done
fi
else
_rdep=$rdep
fi fi
_pkgname=$($XBPS_UHELPER_CMD getpkgname "${_rdep}" 2>/dev/null) _pkgname=$($XBPS_UHELPER_CMD getpkgname "${_rdep}" 2>/dev/null)
_rdepver=$($XBPS_UHELPER_CMD getpkgversion "${_rdep}" 2>/dev/null) _rdepver=$($XBPS_UHELPER_CMD getpkgversion "${_rdep}" 2>/dev/null)
@ -136,24 +131,12 @@ hook() {
broken_shlibs=1 broken_shlibs=1
continue continue
fi fi
# Check if pkg is a subpkg of sourcepkg; if true, ignore version
# in common/shlibs.
_sdep="${_pkgname}>=${_rdepver}" _sdep="${_pkgname}>=${_rdepver}"
for _subpkg in ${subpackages}; do
if [ "${_subpkg}" = "${_pkgname}" ]; then
_sdep="${_pkgname}-${version}_${revision}"
break
fi
done
if [ "${_pkgname}" != "${pkgname}" ]; then # By this point, SONAME can't be found in current pkg
echo " SONAME: $f <-> ${_sdep}"
sorequires+="${f} " sorequires+="${f} "
else
# Ignore libs by current pkg
echo " SONAME: $f <-> ${_rdep} (ignored)"
continue
fi fi
echo " SONAME: $f <-> ${_sdep}"
add_rundep "${_sdep}" add_rundep "${_sdep}"
done done
# #

View file

@ -0,0 +1,87 @@
hook() {
local destdir32=${XBPS_DESTDIR}/${pkgname}-32bit-${version}
# By default always enabled unless "lib32disabled" is set.
if [ -n "$lib32disabled" ]; then
return
fi
# This hook will only work when building for x86.
if [ "$XBPS_TARGET_MACHINE" != "i686" ]; then
return
fi
if [ ! -d ${destdir32} ]; then
return
fi
# If the rdeps file exist (runtime deps), copy and then modify it for
# 32bit dependencies.
trap - ERR
: > ${destdir32}/rdeps
if [ -s "$PKGDESTDIR/rdeps" ]; then
if [ -n "$lib32depends" ]; then
_deps="${lib32depends}"
else
_deps="$(<${PKGDESTDIR}/rdeps)"
fi
for f in ${_deps}; do
unset found pkgn pkgv _shprovides
pkgn="$($XBPS_UHELPER_CMD getpkgdepname $f)"
if [ -z "${pkgn}" ]; then
pkgn="$($XBPS_UHELPER_CMD getpkgname $f)"
if [ -z "${pkgn}" ]; then
msg_error "$pkgver: invalid dependency $f\n"
fi
pkgv="-$($XBPS_UHELPER_CMD getpkgversion ${f})"
else
pkgv="$($XBPS_UHELPER_CMD getpkgdepversion ${f})"
fi
# If dependency is a development pkg switch it to 32bit.
if [[ $pkgn == *-devel ]]; then
echo " RDEP: $f -> ${pkgn}-32bit${pkgv} (development)"
printf "${pkgn}-32bit${pkgv} " >> ${destdir32}/rdeps
continue
fi
# If dependency does not have "shlib-provides" do not
# change it to 32bit.
for x in ${subpackages}; do
if [ "$x" = "$pkgn" ]; then
found=1
break
fi
done
if [ -z "$found" ]; then
# Dependency is not a subpkg, check shlib-provides
# via binpkgs.
_shprovides="$($XBPS_QUERY_CMD -R --property=shlib-provides "$pkgn")"
if [ -n "${_shprovides}" ]; then
echo " RDEP: $f -> ${pkgn}-32bit${pkgv} (shlib-provides)"
printf "${pkgn}-32bit${pkgv} " >> ${destdir32}/rdeps
else
echo " RDEP: $f -> ${pkgn}${pkgv} (no shlib-provides)"
printf "${pkgn}${pkgv} " >> ${destdir32}/rdeps
fi
else
if [ -s ${XBPS_DESTDIR}/${pkgn}-${version}/shlib-provides ]; then
# Dependency is a subpkg; check if it provides any shlib
# and convert to 32bit if true.
echo " RDEP: $f -> ${pkgn}-32bit${pkgv} (subpkg, shlib-provides)"
printf "${pkgn}-32bit${pkgv} " >> ${destdir32}/rdeps
else
echo " RDEP: $f -> ${pkgn}${pkgv} (subpkg, no shlib-provides)"
printf "${pkgn}${pkgv} " >> ${destdir32}/rdeps
fi
fi
done
fi
# If it's a development pkg add a dependency to the 64bit pkg.
if [[ $pkgn == *-devel ]]; then
echo " RDEP: ${pkgver}"
printf "${pkgver} " >> ${destdir32}/rdeps
fi
printf "\n" >> ${destdir32}/rdeps
}

View file

@ -79,9 +79,23 @@ hook() {
# Check for l10n files in usr/lib/locale # Check for l10n files in usr/lib/locale
if [ -d ${PKGDESTDIR}/usr/lib/locale ]; then if [ -d ${PKGDESTDIR}/usr/lib/locale ]; then
local locale_allow=0 ldir
local lroot="${PKGDESTDIR}/usr/lib/locale"
if [ "${pkgname}" = "glibc" ]; then
# glibc gets an exception for its included C.utf8 locale
locale_allow=1
for ldir in "${lroot}"/*; do
[ "${ldir}" = "${lroot}/C.utf8" ] && continue
locale_allow=0
done
fi
if [ "${locale_allow}" -ne 1 ]; then
msg_red "${pkgver}: /usr/lib/locale is forbidden, use /usr/share/locale!\n" msg_red "${pkgver}: /usr/lib/locale is forbidden, use /usr/share/locale!\n"
error=1 error=1
fi fi
fi
# Check for bash completions in etc/bash_completion.d # Check for bash completions in etc/bash_completion.d
# should be on usr/share/bash-completion/completions # should be on usr/share/bash-completion/completions
@ -171,7 +185,7 @@ hook() {
_pattern="^${_shlib}\.so\.[0-9]+(.*)[[:blank:]]+${_pkgname}-[^-]+_[0-9]+" _pattern="^${_shlib}\.so\.[0-9]+(.*)[[:blank:]]+${_pkgname}-[^-]+_[0-9]+"
fi fi
grep -E "${_pattern}" $mapshlibs | { \ grep -E "${_pattern}" $mapshlibs | { \
while read conflictFile conflictPkg ignore; do while read -r conflictFile conflictPkg ignore; do
found=1 found=1
conflictRev=${conflictFile#*.so.} conflictRev=${conflictFile#*.so.}
if [ -n "$ignore" -a "$ignore" != "$XBPS_TARGET_MACHINE" ]; then if [ -n "$ignore" -a "$ignore" != "$XBPS_TARGET_MACHINE" ]; then

View file

@ -0,0 +1,9 @@
#!/bin/bash
# checks for licenses that are no longer custom in packages
mapfile -t licenses < common/travis/license.lst
for lic in "${licenses[@]}"; do
grep -rl "custom:$lic"'[,"]' --include=template srcpkgs \
| cut -d/ -f2 | xargs -rn1 printf "%s: $lic is no longer custom\n"
done

View file

@ -109,7 +109,7 @@ list_interesting_files() {
if partial_check; then if partial_check; then
list_newly_built_files list_newly_built_files
else else
xlocate / | sed s'/ -> .*//' | grep -F -f <(xlocate / | cut -f 2- | sed s'/ -> .*//' | sort | uniq -d) xlocate / | sed s'/ -> .*//' | grep -F -f <(xlocate / | sed 's/[^[:space:]]*[[:space:]]*//' | sed s'/ -> .*//' | sort | uniq -d)
fi fi
} }

View file

@ -97,10 +97,14 @@ if __name__ == '__main__':
parser = ArgumentParser(description='Cycle detector for xbps-src') parser = ArgumentParser(description='Cycle detector for xbps-src')
parser.add_argument('-j', '--jobs', default=None, parser.add_argument('-j', '--jobs', default=None,
type=int, help='Number of parallel jobs') type=int, help='Number of parallel jobs')
parser.add_argument('-c', '--cachedir', parser.add_argument('-c', '--cachedir', default=None,
default=None, help='''Directory to use as cache for xbps-src show-build-deps. Directory must exist already.''') help='Directory used to cache build dependencies (must exist)')
parser.add_argument('-d', '--directory', parser.add_argument('-d', '--directory',
default=None, help='Path to void-packages repo') default=None, help='Path to void-packages repo')
parser.add_argument('-Q', dest='check_pkgs', action='store_const',
const='yes', help='Use build dependencies for check -Q')
parser.add_argument('-K', dest='check_pkgs', action='store_const',
const='full', help='Use build dependencies for check -K')
args = parser.parse_args() args = parser.parse_args()
@ -108,13 +112,15 @@ if __name__ == '__main__':
try: args.directory = os.environ['XBPS_DISTDIR'] try: args.directory = os.environ['XBPS_DISTDIR']
except KeyError: args.directory = '.' except KeyError: args.directory = '.'
cachedir = args.cachedir if args.check_pkgs:
os.environ['XBPS_CHECK_PKGS'] = args.check_pkgs
pool = multiprocessing.Pool(processes = args.jobs) pool = multiprocessing.Pool(processes = args.jobs)
pattern = os.path.join(args.directory, 'srcpkgs', '*') pattern = os.path.join(args.directory, 'srcpkgs', '*')
depmap = dict(pool.starmap(enum_depends, pkgs = {os.path.realpath(p) for p in glob.iglob(pattern)}
((os.path.basename(g), args.directory, cachedir)
for g in glob.iglob(pattern)))) depargs = ((os.path.basename(g), args.directory, args.cachedir) for g in pkgs)
depmap = dict(pool.starmap(enum_depends, depargs))
find_cycles(depmap, args.directory) find_cycles(depmap, args.directory)

File diff suppressed because it is too large Load diff

View file

@ -10,7 +10,7 @@ if [ "$3" = 1 ]; then
test="-Q" test="-Q"
fi fi
PKGS=$(/hostrepo/xbps-src sort-dependencies $(cat /tmp/templates)) PKGS=$(/hostrepo/xbps-src $test sort-dependencies $(cat /tmp/templates))
for pkg in ${PKGS}; do for pkg in ${PKGS}; do
/hostrepo/xbps-src -j$(nproc) -s -H "$HOME"/hostdir $arch $test pkg "$pkg" /hostrepo/xbps-src -j$(nproc) -s -H "$HOME"/hostdir $arch $test pkg "$pkg"

View file

@ -24,5 +24,6 @@ git diff-tree -r --no-renames --name-only --diff-filter=AM \
"$base" "$tip" \ "$base" "$tip" \
-- 'srcpkgs/*/template' | -- 'srcpkgs/*/template' |
cut -d/ -f 2 | cut -d/ -f 2 |
xargs ./xbps-src sort-dependencies |
tee /tmp/templates | tee /tmp/templates |
sed "s/^/ /" >&2 sed "s/^/ /" >&2

View file

@ -1,9 +0,0 @@
#!/bin/sh
#
# changed_templates.sh
# required by git 2.35.2+
git config --global --add safe.directory "$PWD"
/bin/echo -e '\x1b[32mFetching upstream...\x1b[0m'
git fetch --depth 200 https://github.com/void-linux/void-packages.git master

View file

@ -22,9 +22,13 @@ APSL-1.0
APSL-1.1 APSL-1.1
APSL-1.2 APSL-1.2
APSL-2.0 APSL-2.0
ASWF-Digital-Assets-1.0
ASWF-Digital-Assets-1.1
Abstyles Abstyles
AdaCore-doc
Adobe-2006 Adobe-2006
Adobe-Glyph Adobe-Glyph
Adobe-Utopia
Afmparse Afmparse
Aladdin Aladdin
Apache-1.0 Apache-1.0
@ -36,14 +40,19 @@ Artistic-1.0-Perl
Artistic-1.0-cl8 Artistic-1.0-cl8
Artistic-1.0 Artistic-1.0
Artistic-2.0 Artistic-2.0
Asterisk-exception
Autoconf-exception-2.0 Autoconf-exception-2.0
Autoconf-exception-3.0 Autoconf-exception-3.0
Autoconf-exception-generic-3.0
Autoconf-exception-generic
Autoconf-exception-macro
BSD-1-Clause BSD-1-Clause
BSD-2-Clause-Patent BSD-2-Clause-Patent
BSD-2-Clause-Views BSD-2-Clause-Views
BSD-2-Clause BSD-2-Clause
BSD-3-Clause-Attribution BSD-3-Clause-Attribution
BSD-3-Clause-Clear BSD-3-Clause-Clear
BSD-3-Clause-HP
BSD-3-Clause-LBNL BSD-3-Clause-LBNL
BSD-3-Clause-Modification BSD-3-Clause-Modification
BSD-3-Clause-No-Military-License BSD-3-Clause-No-Military-License
@ -51,12 +60,20 @@ BSD-3-Clause-No-Nuclear-License-2014
BSD-3-Clause-No-Nuclear-License BSD-3-Clause-No-Nuclear-License
BSD-3-Clause-No-Nuclear-Warranty BSD-3-Clause-No-Nuclear-Warranty
BSD-3-Clause-Open-MPI BSD-3-Clause-Open-MPI
BSD-3-Clause-Sun
BSD-3-Clause-flex
BSD-3-Clause BSD-3-Clause
BSD-4-Clause-Shortened BSD-4-Clause-Shortened
BSD-4-Clause-UC BSD-4-Clause-UC
BSD-4-Clause BSD-4-Clause
BSD-4.3RENO
BSD-4.3TAHOE
BSD-Advertising-Acknowledgement
BSD-Attribution-HPND-disclaimer
BSD-Inferno-Nettverk
BSD-Protection BSD-Protection
BSD-Source-Code BSD-Source-Code
BSD-Systemics
BSL-1.0 BSL-1.0
BUSL-1.1 BUSL-1.1
Baekmuk Baekmuk
@ -66,10 +83,13 @@ Beerware
Bison-exception-2.2 Bison-exception-2.2
BitTorrent-1.0 BitTorrent-1.0
BitTorrent-1.1 BitTorrent-1.1
Bitstream-Charter
Bitstream-Vera Bitstream-Vera
BlueOak-1.0.0 BlueOak-1.0.0
Boehm-GC
Bootloader-exception Bootloader-exception
Borceux Borceux
Brian-Gladman-3-Clause
C-UDA-1.0 C-UDA-1.0
CAL-1.0-Combined-Work-Exception CAL-1.0-Combined-Work-Exception
CAL-1.0 CAL-1.0
@ -99,6 +119,7 @@ CC-BY-NC-ND-3.0-IGO
CC-BY-NC-ND-3.0 CC-BY-NC-ND-3.0
CC-BY-NC-ND-4.0 CC-BY-NC-ND-4.0
CC-BY-NC-SA-1.0 CC-BY-NC-SA-1.0
CC-BY-NC-SA-2.0-DE
CC-BY-NC-SA-2.0-FR CC-BY-NC-SA-2.0-FR
CC-BY-NC-SA-2.0-UK CC-BY-NC-SA-2.0-UK
CC-BY-NC-SA-2.0 CC-BY-NC-SA-2.0
@ -120,6 +141,7 @@ CC-BY-SA-2.1-JP
CC-BY-SA-2.5 CC-BY-SA-2.5
CC-BY-SA-3.0-AT CC-BY-SA-3.0-AT
CC-BY-SA-3.0-DE CC-BY-SA-3.0-DE
CC-BY-SA-3.0-IGO
CC-BY-SA-3.0 CC-BY-SA-3.0
CC-BY-SA-4.0 CC-BY-SA-4.0
CC-PDDC CC-PDDC
@ -141,7 +163,9 @@ CERN-OHL-1.2
CERN-OHL-P-2.0 CERN-OHL-P-2.0
CERN-OHL-S-2.0 CERN-OHL-S-2.0
CERN-OHL-W-2.0 CERN-OHL-W-2.0
CFITSIO
CLISP-exception-2.0 CLISP-exception-2.0
CMU-Mach
CNRI-Jython CNRI-Jython
CNRI-Python-GPL-Compatible CNRI-Python-GPL-Compatible
CNRI-Python CNRI-Python
@ -153,13 +177,17 @@ CUA-OPL-1.0
Caldera Caldera
ClArtistic ClArtistic
Classpath-exception-2.0 Classpath-exception-2.0
Clips
Community-Spec-1.0 Community-Spec-1.0
Condor-1.1 Condor-1.1
Cornell-Lossless-JPEG
Cronyx
Crossword Crossword
CrystalStacker CrystalStacker
Cube Cube
D-FSL-1.0 D-FSL-1.0
DL-DE-BY-2.0 DL-DE-BY-2.0
DL-DE-ZERO-2.0
DOC DOC
DRL-1.0 DRL-1.0
DSDP DSDP
@ -180,6 +208,7 @@ Elastic-2.0
Entessa Entessa
ErlPL-1.1 ErlPL-1.1
Eurosym Eurosym
FBM
FDK-AAC FDK-AAC
FLTK-exception FLTK-exception
FSFAP FSFAP
@ -189,10 +218,13 @@ FSFULLRWD
FTL FTL
Fair Fair
Fawkes-Runtime-exception Fawkes-Runtime-exception
Ferguson-Twofish
Font-exception-2.0 Font-exception-2.0
Frameworx-1.0 Frameworx-1.0
FreeBSD-DOC FreeBSD-DOC
FreeImage FreeImage
Furuseth
GCC-exception-2.0-note
GCC-exception-2.0 GCC-exception-2.0
GCC-exception-3.1 GCC-exception-3.1
GD GD
@ -216,10 +248,13 @@ GFDL-1.3-only
GFDL-1.3-or-later GFDL-1.3-or-later
GL2PS GL2PS
GLWTPL GLWTPL
GNAT-exception
GNU-compiler-exception
GPL-1.0-only GPL-1.0-only
GPL-1.0-or-later GPL-1.0-or-later
GPL-2.0-only GPL-2.0-only
GPL-2.0-or-later GPL-2.0-or-later
GPL-3.0-interface-exception
GPL-3.0-linking-exception GPL-3.0-linking-exception
GPL-3.0-linking-source-exception GPL-3.0-linking-source-exception
GPL-3.0-only GPL-3.0-only
@ -230,6 +265,19 @@ GStreamer-exception-2008
Giftware Giftware
Glide Glide
Glulxe Glulxe
Graphics-Gems
HP-1986
HP-1989
HPND-DEC
HPND-Markus-Kuhn
HPND-Pbmplus
HPND-UC
HPND-doc-sell
HPND-doc
HPND-export-US-modify
HPND-export-US
HPND-sell-regexpr
HPND-sell-variant-MIT-disclaimer
HPND-sell-variant HPND-sell-variant
HPND HPND
HTMLTIDY HTMLTIDY
@ -237,6 +285,8 @@ HaskellReport
Hippocratic-2.1 Hippocratic-2.1
IBM-pibs IBM-pibs
ICU ICU
IEC-Code-Components-EULA
IJG-short
IJG IJG
IPA IPA
IPL-1.0 IPL-1.0
@ -244,13 +294,17 @@ ISC
ImageMagick ImageMagick
Imlib2 Imlib2
Info-ZIP Info-ZIP
Inner-Net-2.0
Intel-ACPI Intel-ACPI
Intel Intel
Interbase-1.0 Interbase-1.0
JPL-image
JPNIC JPNIC
JSON JSON
Jam Jam
JasPer-2.0 JasPer-2.0
Kastrup
Kazlib
KiCad-libraries-exception KiCad-libraries-exception
Knuth-CTAN Knuth-CTAN
LAL-1.2 LAL-1.2
@ -263,7 +317,9 @@ LGPL-3.0-linking-exception
LGPL-3.0-only LGPL-3.0-only
LGPL-3.0-or-later LGPL-3.0-or-later
LGPLLR LGPLLR
LLGPL
LLVM-exception LLVM-exception
LOOP
LPL-1.0 LPL-1.0
LPL-1.02 LPL-1.02
LPPL-1.0 LPPL-1.0
@ -274,6 +330,7 @@ LPPL-1.3c
LZMA-SDK-9.11-to-9.20 LZMA-SDK-9.11-to-9.20
LZMA-SDK-9.22 LZMA-SDK-9.22
LZMA-exception LZMA-exception
Latex2e-translated-notice
Latex2e Latex2e
Leptonica Leptonica
LiLiQ-P-1.1 LiLiQ-P-1.1
@ -282,17 +339,26 @@ LiLiQ-Rplus-1.1
Libpng Libpng
Libtool-exception Libtool-exception
Linux-OpenIB Linux-OpenIB
Linux-man-pages-1-para
Linux-man-pages-copyleft-2-para
Linux-man-pages-copyleft-var
Linux-man-pages-copyleft Linux-man-pages-copyleft
Linux-syscall-note Linux-syscall-note
Lucida-Bitmap-Fonts
MIT-0 MIT-0
MIT-CMU MIT-CMU
MIT-Festival
MIT-Modern-Variant MIT-Modern-Variant
MIT-Wu
MIT-advertising MIT-advertising
MIT-enna MIT-enna
MIT-feh MIT-feh
MIT-open-group MIT-open-group
MIT-testregex
MIT MIT
MITNFA MITNFA
MMIXware
MPEG-SSG
MPL-1.0 MPL-1.0
MPL-1.1 MPL-1.1
MPL-2.0-no-copyleft-exception MPL-2.0-no-copyleft-exception
@ -302,6 +368,8 @@ MS-PL
MS-RL MS-RL
MTLL MTLL
MakeIndex MakeIndex
Martin-Birgmeier
McPhee-slideshow
Minpack Minpack
MirOS MirOS
Motosoto Motosoto
@ -318,6 +386,7 @@ NGPL
NICTA-1.0 NICTA-1.0
NIST-PD-fallback NIST-PD-fallback
NIST-PD NIST-PD
NIST-Software
NLOD-1.0 NLOD-1.0
NLOD-2.0 NLOD-2.0
NLPL NLPL
@ -342,6 +411,7 @@ OCLC-2.0
OCaml-LGPL-linking-exception OCaml-LGPL-linking-exception
ODC-By-1.0 ODC-By-1.0
ODbL-1.0 ODbL-1.0
OFFIS
OFL-1.0-RFN OFL-1.0-RFN
OFL-1.0-no-RFN OFL-1.0-no-RFN
OFL-1.0 OFL-1.0
@ -371,8 +441,10 @@ OLDAP-2.5
OLDAP-2.6 OLDAP-2.6
OLDAP-2.7 OLDAP-2.7
OLDAP-2.8 OLDAP-2.8
OLFL-1.3
OML OML
OPL-1.0 OPL-1.0
OPL-UK-3.0
OPUBL-1.0 OPUBL-1.0
OSET-PL-2.1 OSET-PL-2.1
OSL-1.0 OSL-1.0
@ -381,7 +453,9 @@ OSL-2.0
OSL-2.1 OSL-2.1
OSL-3.0 OSL-3.0
OpenJDK-assembly-exception-1.0 OpenJDK-assembly-exception-1.0
OpenPBS-2.3
OpenSSL OpenSSL
PADL
PDDL-1.0 PDDL-1.0
PHP-3.0 PHP-3.0
PHP-3.01 PHP-3.01
@ -395,6 +469,8 @@ PolyForm-Small-Business-1.0.0
PostgreSQL PostgreSQL
Python-2.0.1 Python-2.0.1
Python-2.0 Python-2.0
QPL-1.0-INRIA-2004-exception
QPL-1.0-INRIA-2004
QPL-1.0 QPL-1.0
Qhull Qhull
Qt-GPL-exception-1.0 Qt-GPL-exception-1.0
@ -408,17 +484,21 @@ RSA-MD
RSCPL RSCPL
Rdisc Rdisc
Ruby Ruby
SANE-exception
SAX-PD SAX-PD
SCEA SCEA
SGI-B-1.0 SGI-B-1.0
SGI-B-1.1 SGI-B-1.1
SGI-B-2.0 SGI-B-2.0
SGI-OpenGL
SGP4
SHL-0.5 SHL-0.5
SHL-0.51 SHL-0.51
SHL-2.0 SHL-2.0
SHL-2.1 SHL-2.1
SISSL-1.2 SISSL-1.2
SISSL SISSL
SL
SMLNJ SMLNJ
SMPPL SMPPL
SNIA SNIA
@ -426,6 +506,7 @@ SPL-1.0
SSH-OpenSSH SSH-OpenSSH
SSH-short SSH-short
SSPL-1.0 SSPL-1.0
SWI-exception
SWL SWL
Saxpath Saxpath
SchemeReport SchemeReport
@ -433,25 +514,38 @@ Sendmail-8.23
Sendmail Sendmail
SimPL-2.0 SimPL-2.0
Sleepycat Sleepycat
Soundex
Spencer-86 Spencer-86
Spencer-94 Spencer-94
Spencer-99 Spencer-99
SugarCRM-1.1.3 SugarCRM-1.1.3
SunPro
Swift-exception Swift-exception
Symlinks
TAPR-OHL-1.0 TAPR-OHL-1.0
TCL TCL
TCP-wrappers TCP-wrappers
TMate TMate
TORQUE-1.1 TORQUE-1.1
TOSL TOSL
TPDL
TPL-1.0
TTWL
TTYP0
TU-Berlin-1.0 TU-Berlin-1.0
TU-Berlin-2.0 TU-Berlin-2.0
TermReadKey
Texinfo-exception
UBDL-exception
UCAR
UCL-1.0 UCL-1.0
UPL-1.0 UPL-1.0
URT-RLE
Unicode-DFS-2015 Unicode-DFS-2015
Unicode-DFS-2016 Unicode-DFS-2016
Unicode-TOU Unicode-TOU
Universal-FOSS-exception-1.0 Universal-FOSS-exception-1.0
UnixCrypt
Unlicense Unlicense
VOSTROM VOSTROM
VSL-1.0 VSL-1.0
@ -461,13 +555,16 @@ W3C-20150513
W3C W3C
WTFPL WTFPL
Watcom-1.0 Watcom-1.0
Widget-Workshop
Wsuipa Wsuipa
WxWindows-exception-3.1 WxWindows-exception-3.1
X11-distribute-modifications-variant X11-distribute-modifications-variant
X11 X11
XFree86-1.1 XFree86-1.1
XSkat XSkat
Xdebug-1.03
Xerox Xerox
Xfig
Xnet Xnet
YPL-1.0 YPL-1.0
YPL-1.1 YPL-1.1
@ -475,15 +572,18 @@ ZPL-1.1
ZPL-2.0 ZPL-2.0
ZPL-2.1 ZPL-2.1
Zed Zed
Zeeff
Zend-2.0 Zend-2.0
Zimbra-1.3 Zimbra-1.3
Zimbra-1.4 Zimbra-1.4
Zlib Zlib
blessing blessing
bzip2-1.0.6 bzip2-1.0.6
check-cvs
checkmk checkmk
copyleft-next-0.3.0 copyleft-next-0.3.0
copyleft-next-0.3.1 copyleft-next-0.3.1
cryptsetup-OpenSSL-exception
curl curl
deprecated_AGPL-1.0 deprecated_AGPL-1.0
deprecated_AGPL-3.0 deprecated_AGPL-3.0
@ -517,29 +617,45 @@ deprecated_bzip2-1.0.5
deprecated_eCos-2.0 deprecated_eCos-2.0
deprecated_wxWindows deprecated_wxWindows
diffmark diffmark
dtoa
dvipdfm dvipdfm
eCos-exception-2.0 eCos-exception-2.0
eGenix eGenix
etalab-2.0 etalab-2.0
freertos-exception-2.0 freertos-exception-2.0
fwlw
gSOAP-1.3b gSOAP-1.3b
gnu-javamail-exception gnu-javamail-exception
gnuplot gnuplot
i2p-gpl-java-exception i2p-gpl-java-exception
iMatix iMatix
libpng-2.0 libpng-2.0
libpri-OpenH323-exception
libselinux-1.0 libselinux-1.0
libtiff libtiff
libutil-David-Nugent libutil-David-Nugent
lsof
magaz
metamail
mif-exception mif-exception
mpi-permissive mpi-permissive
mpich2 mpich2
mplus mplus
openvpn-openssl-exception openvpn-openssl-exception
pnmstitch
psfrag psfrag
psutils psutils
python-ldap
snprintf
ssh-keyscan
stunnel-exception
swrule
u-boot-exception-2.0 u-boot-exception-2.0
ulem
vsftpd-openssl-exception
w3m
x11vnc-openssl-exception x11vnc-openssl-exception
xinetd xinetd
xlock
xpp xpp
zlib-acknowledgement zlib-acknowledgement

View file

@ -2,8 +2,6 @@
# #
# prepare.sh # prepare.sh
[ "$XLINT" ] && exit 0
/bin/echo -e '\x1b[32mUpdating etc/conf...\x1b[0m' /bin/echo -e '\x1b[32mUpdating etc/conf...\x1b[0m'
echo XBPS_BUILD_ENVIRONMENT=void-packages-ci >> etc/conf echo XBPS_BUILD_ENVIRONMENT=void-packages-ci >> etc/conf
echo XBPS_ALLOW_RESTRICTED=yes >> etc/conf echo XBPS_ALLOW_RESTRICTED=yes >> etc/conf

View file

@ -0,0 +1,20 @@
#!/bin/sh
# runs update-check on all changed templates, then errors only if there was an
# issue with the update-check. does not error if further updates are available,
# as there may be a good reason not to update to those versions
set -e
export XBPS_UPDATE_CHECK_VERBOSE=yes
err=0
while read -r pkg; do
/bin/echo -e "\x1b[34mVerifying update-check of $pkg:\x1b[0m"
./xbps-src update-check "$pkg" 2>&1 > /tmp/update-check.log || err=1
cat /tmp/update-check.log
if grep -q 'NO VERSION' /tmp/update-check.log; then
echo "::warning file=srcpkgs/$pkg/template,line=1,title=update-check failed::verify and fix update-check for $pkg"
fi
done < /tmp/templates
exit $err

View file

@ -2,8 +2,6 @@
# #
# xlint.sh # xlint.sh
[ "$XLINT" ] || exit 0
EXITCODE=0 EXITCODE=0
read base tip < /tmp/revisions read base tip < /tmp/revisions

View file

@ -8,11 +8,11 @@ ARGS=("$@")
i=0 i=0
while [ $i -lt ${#ARGS[@]} ]; do while [ $i -lt ${#ARGS[@]} ]; do
arg="${ARGS[$i]}" arg="${ARGS[$i]}"
if [ "$incpath" ]; then if [ -n "$incpath" ]; then
if [ "$arg" = "/usr/include" ]; then if [ "$arg" = "/usr/include" ]; then
echo "[cc-wrapper] ignoring -I $arg" echo "[cc-wrapper] ignoring ${incpath} $arg"
else else
MYARGS+=("-I${arg}") MYARGS+=("${incpath}${arg}")
fi fi
unset incpath unset incpath
elif [ "$libpath" ]; then elif [ "$libpath" ]; then
@ -23,13 +23,13 @@ while [ $i -lt ${#ARGS[@]} ]; do
MYARGS+=("-L${arg}") MYARGS+=("-L${arg}")
fi fi
unset libpath unset libpath
elif [ "$arg" = "-I" ]; then elif [ "$arg" = "-I" -o "$arg" = "-isystem" ]; then
incpath=1 incpath="$arg"
elif [ "$arg" = "-L" ]; then elif [ "$arg" = "-L" ]; then
libpath=1 libpath=1
elif [ "$arg" = "-I/usr/include" -o "$arg" = "-L/usr/lib" \ elif [ "$arg" = "-I/usr/include" -o "$arg" = "-isystem/usr/include" \
-o "$arg" = "-L/usr/lib32" -o "$arg" = "-L/usr/lib64" \ -o "$arg" = "-L/usr/lib32" -o "$arg" = "-L/usr/lib64" \
-o "$arg" = "-L/lib" ]; then -o "$arg" = "-L/usr/lib" -o "$arg" = "-L/lib" ]; then
echo "[cc-wrapper] ignoring $arg" echo "[cc-wrapper] ignoring $arg"
else else
MYARGS+=("${arg}") MYARGS+=("${arg}")

View file

@ -124,6 +124,17 @@ check_installed_pkg() {
return 1 return 1
} }
#
# Return 0 if we will skip the check step
#
skip_check_step() {
[ -z "$XBPS_CHECK_PKGS" ] ||
[ "$XBPS_CROSS_BUILD" ] ||
[ "$make_check" = ci-skip -a "$XBPS_BUILD_ENVIRONMENT" = void-packages-ci ] ||
[ "$make_check" = extended -a "$XBPS_CHECK_PKGS" != full ] ||
[ "$make_check" = no ]
}
# #
# Build all dependencies required to build and run. # Build all dependencies required to build and run.
# #
@ -137,7 +148,7 @@ install_pkg_deps() {
local -a host_missing_deps missing_deps missing_rdeps local -a host_missing_deps missing_deps missing_rdeps
[ -z "$pkgname" ] && return 2 [ -z "$pkgname" ] && return 2
[ -z "$XBPS_CHECK_PKGS" ] && unset checkdepends skip_check_step && unset checkdepends
if [[ $build_style ]] || [[ $build_helper ]]; then if [[ $build_style ]] || [[ $build_helper ]]; then
style=" with" style=" with"
@ -208,7 +219,7 @@ install_pkg_deps() {
# #
# Host check dependencies. # Host check dependencies.
# #
if [[ ${checkdepends} ]] && [[ $XBPS_CHECK_PKGS ]] && [ -z "$XBPS_CROSS_BUILD" ]; then if [[ ${checkdepends} ]]; then
templates="" templates=""
# check validity # check validity
for f in ${checkdepends}; do for f in ${checkdepends}; do
@ -410,22 +421,12 @@ install_pkg_deps() {
done done
if [[ ${host_binpkg_deps} ]]; then if [[ ${host_binpkg_deps} ]]; then
if [ -z "$XBPS_QUIET" ]; then msg_normal "$pkgver: installing host dependencies: ${host_binpkg_deps[*]} ...\n"
# normal messages in bold
[[ $NOCOLORS ]] || printf "\033[1m"
echo "=> $pkgver: installing host dependencies: ${host_binpkg_deps[@]} ..."
[[ $NOCOLORS ]] || printf "\033[m"
fi
install_pkg_from_repos "" host "${host_binpkg_deps[@]}" install_pkg_from_repos "" host "${host_binpkg_deps[@]}"
fi fi
if [[ ${binpkg_deps} ]]; then if [[ ${binpkg_deps} ]]; then
if [ -z "$XBPS_QUIET" ]; then msg_normal "$pkgver: installing target dependencies: ${binpkg_deps[*]} ...\n"
# normal messages in bold
[[ $NOCOLORS ]] || printf "\033[1m"
echo "=> $pkgver: installing target dependencies: ${binpkg_deps[@]} ..."
[[ $NOCOLORS ]] || printf "\033[m"
fi
install_pkg_from_repos "$cross" target "${binpkg_deps[@]}" install_pkg_from_repos "$cross" target "${binpkg_deps[@]}"
fi fi

View file

@ -8,22 +8,22 @@ install_base_chroot() {
XBPS_TARGET_PKG="$1" XBPS_TARGET_PKG="$1"
fi fi
# binary bootstrap # binary bootstrap
msg_normal "xbps-src: installing base-chroot-cereus...\n" msg_normal "xbps-src: installing base-chroot...\n"
# XBPS_TARGET_PKG == arch # XBPS_TARGET_PKG == arch
if [ "$XBPS_TARGET_PKG" ]; then if [ "$XBPS_TARGET_PKG" ]; then
_bootstrap_arch="env XBPS_TARGET_ARCH=$XBPS_TARGET_PKG" _bootstrap_arch="env XBPS_TARGET_ARCH=$XBPS_TARGET_PKG"
fi fi
(export XBPS_MACHINE=$XBPS_TARGET_PKG XBPS_ARCH=$XBPS_TARGET_PKG; chroot_sync_repodata) (export XBPS_MACHINE=$XBPS_TARGET_PKG XBPS_ARCH=$XBPS_TARGET_PKG; chroot_sync_repodata)
${_bootstrap_arch} $XBPS_INSTALL_CMD ${XBPS_INSTALL_ARGS} -y base-chroot-cereus ${_bootstrap_arch} $XBPS_INSTALL_CMD ${XBPS_INSTALL_ARGS} -y base-chroot
if [ $? -ne 0 ]; then if [ $? -ne 0 ]; then
msg_error "xbps-src: failed to install base-chroot-cereus!\n" msg_error "xbps-src: failed to install base-chroot!\n"
fi fi
# Reconfigure base-files to create dirs/symlinks. # Reconfigure base-files to create dirs/symlinks.
if xbps-query -r $XBPS_MASTERDIR base-files &>/dev/null; then if xbps-query -r $XBPS_MASTERDIR base-files &>/dev/null; then
XBPS_ARCH=$XBPS_TARGET_PKG xbps-reconfigure -r $XBPS_MASTERDIR -f base-files &>/dev/null XBPS_ARCH=$XBPS_TARGET_PKG xbps-reconfigure -r $XBPS_MASTERDIR -f base-files &>/dev/null
fi fi
msg_normal "xbps-src: installed base-chroot-cereus successfully!\n" msg_normal "xbps-src: installed base-chroot successfully!\n"
chroot_prepare $XBPS_TARGET_PKG || msg_error "xbps-src: failed to initialize chroot!\n" chroot_prepare $XBPS_TARGET_PKG || msg_error "xbps-src: failed to initialize chroot!\n"
chroot_check chroot_check
chroot_handler clean chroot_handler clean
@ -34,7 +34,7 @@ reconfigure_base_chroot() {
local pkgs="glibc-locales ca-certificates" local pkgs="glibc-locales ca-certificates"
[ -z "$IN_CHROOT" -o -e $statefile ] && return 0 [ -z "$IN_CHROOT" -o -e $statefile ] && return 0
# Reconfigure ca-certificates. # Reconfigure ca-certificates.
msg_normal "xbps-src: reconfiguring base-chroot-cereus...\n" msg_normal "xbps-src: reconfiguring base-chroot...\n"
for f in ${pkgs}; do for f in ${pkgs}; do
if xbps-query -r $XBPS_MASTERDIR $f &>/dev/null; then if xbps-query -r $XBPS_MASTERDIR $f &>/dev/null; then
xbps-reconfigure -r $XBPS_MASTERDIR -f $f xbps-reconfigure -r $XBPS_MASTERDIR -f $f
@ -51,7 +51,7 @@ update_base_chroot() {
if $(${XBPS_INSTALL_CMD} ${XBPS_INSTALL_ARGS} -nu|grep -q xbps); then if $(${XBPS_INSTALL_CMD} ${XBPS_INSTALL_ARGS} -nu|grep -q xbps); then
${XBPS_INSTALL_CMD} ${XBPS_INSTALL_ARGS} -yu xbps || msg_error "xbps-src: failed to update xbps!\n" ${XBPS_INSTALL_CMD} ${XBPS_INSTALL_ARGS} -yu xbps || msg_error "xbps-src: failed to update xbps!\n"
fi fi
${XBPS_INSTALL_CMD} ${XBPS_INSTALL_ARGS} -yu || msg_error "xbps-src: failed to update base-chroot-cereus!\n" ${XBPS_INSTALL_CMD} ${XBPS_INSTALL_ARGS} -yu || msg_error "xbps-src: failed to update base-chroot!\n"
msg_normal "xbps-src: cleaning up $XBPS_MASTERDIR masterdir...\n" msg_normal "xbps-src: cleaning up $XBPS_MASTERDIR masterdir...\n"
[ -z "$XBPS_KEEP_ALL" -a -z "$XBPS_SKIP_DEPS" ] && remove_pkg_autodeps [ -z "$XBPS_KEEP_ALL" -a -z "$XBPS_SKIP_DEPS" ] && remove_pkg_autodeps
[ -z "$XBPS_KEEP_ALL" -a -z "$keep_all_force" ] && rm -rf $XBPS_MASTERDIR/builddir $XBPS_MASTERDIR/destdir [ -z "$XBPS_KEEP_ALL" -a -z "$keep_all_force" ] && rm -rf $XBPS_MASTERDIR/builddir $XBPS_MASTERDIR/destdir
@ -309,6 +309,9 @@ chroot_sync_repodata() {
# Copy xbps repository keys to the masterdir. # Copy xbps repository keys to the masterdir.
mkdir -p $XBPS_MASTERDIR/var/db/xbps/keys mkdir -p $XBPS_MASTERDIR/var/db/xbps/keys
cp -f $XBPS_COMMONDIR/repo-keys/*.plist $XBPS_MASTERDIR/var/db/xbps/keys cp -f $XBPS_COMMONDIR/repo-keys/*.plist $XBPS_MASTERDIR/var/db/xbps/keys
if [ -n "$(shopt -s nullglob; echo "$XBPS_DISTDIR"/etc/repo-keys/*.plist)" ]; then
cp -f "$XBPS_DISTDIR"/etc/repo-keys/*.plist "$XBPS_MASTERDIR"/var/db/xbps/keys
fi
# Make sure to sync index for remote repositories. # Make sure to sync index for remote repositories.
if [ -z "$XBPS_SKIP_REMOTEREPOS" ]; then if [ -z "$XBPS_SKIP_REMOTEREPOS" ]; then

View file

@ -1,5 +1,41 @@
# vim: set ts=4 sw=4 et: # vim: set ts=4 sw=4 et:
# A portable abstraction for stat(1)
#
# The stat(1) command has different syntaxes between GNU flavor
# and BSD flavor; implementations generally follow one or the other
#
if ! stat -c "%s" / > /dev/null 2>&1; then
# BSD stat
stat_size() {
stat -f %z "$1"
}
stat_inode() {
stat -f %i "$1"
}
stat_mtime() {
stat -f %m "$1"
}
else
# GNU stat
stat_size() {
stat -c %s "$1"
}
stat_inode() {
stat -c %i "$1"
}
stat_mtime() {
stat -c %Y "$1"
}
fi
run_func() { run_func() {
local func="$1" desc="$2" funcname="$3" restoretrap= logpipe= logfile= teepid= local func="$1" desc="$2" funcname="$3" restoretrap= logpipe= logfile= teepid=
@ -140,13 +176,24 @@ msg_warn_nochroot() {
msg_normal() { msg_normal() {
if [ -z "$XBPS_QUIET" ]; then if [ -z "$XBPS_QUIET" ]; then
# normal messages in bold # normal messages in bright bold white
if [ "$XBPS_BUILD_ENVIRONMENT" = "void-packages-ci" ]; then
# Github CI considers '1m' to be just a font bold
[ -n "$NOCOLORS" ] || printf "\033[97m\033[1m"
else
[ -n "$NOCOLORS" ] || printf "\033[1m" [ -n "$NOCOLORS" ] || printf "\033[1m"
fi
printf "=> $@" printf "=> $@"
[ -n "$NOCOLORS" ] || printf "\033[m" [ -n "$NOCOLORS" ] || printf "\033[m"
fi fi
} }
msg_verbose() {
if [ -n "$XBPS_VERBOSE" ]; then
printf >&2 "$@"
fi
}
report_broken() { report_broken() {
if [ "$show_problems" = "ignore-problems" ]; then if [ "$show_problems" = "ignore-problems" ]; then
return return
@ -165,7 +212,12 @@ report_broken() {
} }
msg_normal_append() { msg_normal_append() {
if [ "$XBPS_BUILD_ENVIRONMENT" = "void-packages-ci" ]; then
# Github CI considers '1m' to be just a font bold
[ -n "$NOCOLORS" ] || printf "\033[97m\033[1m"
else
[ -n "$NOCOLORS" ] || printf "\033[1m" [ -n "$NOCOLORS" ] || printf "\033[1m"
fi
printf "$@" printf "$@"
[ -n "$NOCOLORS" ] || printf "\033[m" [ -n "$NOCOLORS" ] || printf "\033[m"
} }
@ -289,6 +341,7 @@ get_endian() {
ppc*le) echo "le";; ppc*le) echo "le";;
ppc*) echo "be";; ppc*) echo "be";;
x86_64) echo "le";; x86_64) echo "le";;
riscv64) echo "le";;
esac esac
} }
@ -316,6 +369,7 @@ get_wordsize() {
ppc64*) echo "64";; ppc64*) echo "64";;
ppc*) echo "32";; ppc*) echo "32";;
x86_64) echo "64";; x86_64) echo "64";;
riscv64) echo "64";;
esac esac
} }

View file

@ -16,7 +16,7 @@ remove_pkg_cross_deps() {
$XBPS_REMOVE_XCMD -Ryo > $tmplogf 2>&1 $XBPS_REMOVE_XCMD -Ryo > $tmplogf 2>&1
rval=$? rval=$?
while [ $rval -eq 0 ]; do while [ $rval -eq 0 ]; do
local curs=$(stat -c %s $tmplogf) local curs=$(stat_size $tmplogf)
if [ $curs -eq $prevs ]; then if [ $curs -eq $prevs ]; then
break break
fi fi

View file

@ -65,11 +65,11 @@ remove_pkg_autodeps() {
remove_pkg_cross_deps remove_pkg_cross_deps
$XBPS_RECONFIGURE_CMD -a >> $tmplogf 2>&1 $XBPS_RECONFIGURE_CMD -a >> $tmplogf 2>&1
prevs=$(stat -c %s $tmplogf) prevs=$(stat_size $tmplogf)
echo yes | $XBPS_REMOVE_CMD -Ryod 2>> $errlogf 1>> $tmplogf echo yes | $XBPS_REMOVE_CMD -Ryod 2>> $errlogf 1>> $tmplogf
rval=$? rval=$?
while [ $rval -eq 0 ]; do while [ $rval -eq 0 ]; do
local curs=$(stat -c %s $tmplogf) local curs=$(stat_size $tmplogf)
if [ $curs -eq $prevs ]; then if [ $curs -eq $prevs ]; then
break break
fi fi

View file

@ -57,7 +57,7 @@ purge_distfiles() {
cur=0 cur=0
percent=-1 percent=-1
for distfile in ${distfiles[@]}; do for distfile in ${distfiles[@]}; do
inode=$(stat "$distfile" --printf "%i") inode=$(stat_inode "$distfile")
if [ -z "${inodes[$inode]}" ]; then if [ -z "${inodes[$inode]}" ]; then
inodes[$inode]="$distfile" inodes[$inode]="$distfile"
else else
@ -77,7 +77,7 @@ purge_distfiles() {
hash_distfile=${file##*/} hash_distfile=${file##*/}
hash=${hash_distfile:0:$HASHLEN} hash=${hash_distfile:0:$HASHLEN}
[ -n "${my_hashes[$hash]}" ] && continue [ -n "${my_hashes[$hash]}" ] && continue
inode=$(stat "$file" --printf "%i") inode=$(stat_inode "$file")
echo "Obsolete $hash (inode: $inode)" echo "Obsolete $hash (inode: $inode)"
( IFS="|"; for f in ${inodes[$inode]}; do rm -vf "$f"; rmdir "${f%/*}" 2>/dev/null; done ) ( IFS="|"; for f in ${inodes[$inode]}; do rm -vf "$f"; rmdir "${f%/*}" 2>/dev/null; done )
done done

View file

@ -75,7 +75,7 @@ show_avail() {
show_eval_dep() { show_eval_dep() {
local f x _pkgname _srcpkg found local f x _pkgname _srcpkg found
local _dep="$1" local _dep="${1%-32bit}"
local _host="$2" local _host="$2"
if [ -z "$CROSS_BUILD" ] || [ -z "$_host" ]; then if [ -z "$CROSS_BUILD" ] || [ -z "$_host" ]; then
# ignore dependency on itself # ignore dependency on itself
@ -92,8 +92,7 @@ show_eval_dep() {
[[ $_dep == $x ]] && found=1 && break [[ $_dep == $x ]] && found=1 && break
done done
[[ $found ]] && return [[ $found ]] && return
_pkgname=${_dep/-32bit} _srcpkg=$(readlink -f ${XBPS_SRCPKGDIR}/${_dep})
_srcpkg=$(readlink -f ${XBPS_SRCPKGDIR}/${_pkgname})
_srcpkg=${_srcpkg##*/} _srcpkg=${_srcpkg##*/}
echo $_srcpkg echo $_srcpkg
} }
@ -117,7 +116,9 @@ show_pkg_build_depends() {
} }
show_pkg_build_deps() { show_pkg_build_deps() {
show_pkg_build_depends "${makedepends} $(setup_pkg_depends '' 1 1)" "${hostmakedepends}" local build_depends="${makedepends} $(setup_pkg_depends '' 1 1)"
skip_check_step || build_depends+=" ${checkdepends}"
show_pkg_build_depends "${build_depends}" "${hostmakedepends}"
} }
show_pkg_hostmakedepends() { show_pkg_hostmakedepends() {
@ -128,16 +129,21 @@ show_pkg_makedepends() {
show_pkg_build_depends "${makedepends}" "" show_pkg_build_depends "${makedepends}" ""
} }
show_pkg_checkdepends() {
show_pkg_build_depends "${checkdepends}" ""
}
show_pkg_build_options() { show_pkg_build_options() {
local f opt desc local f
[ -z "$PKG_BUILD_OPTIONS" ] && return 0 [ -z "$PKG_BUILD_OPTIONS" ] && return 0
source $XBPS_COMMONDIR/options.description source $XBPS_COMMONDIR/options.description
msg_normal "$pkgver: the following build options are set:\n" msg_normal "$pkgver: the following build options are set:\n"
for f in ${PKG_BUILD_OPTIONS}; do for f in ${PKG_BUILD_OPTIONS}; do
opt="${f#\~}" local opt="${f#\~}"
eval desc="\${desc_option_${opt}}" local descref="desc_option_${opt}"
local desc="${!descref-Enable support for $opt}"
if [[ ${f:0:1} == '~' ]]; then if [[ ${f:0:1} == '~' ]]; then
echo " $opt: $desc (OFF)" echo " $opt: $desc (OFF)"
else else

View file

@ -1,4 +1,4 @@
# vim: set ts=4 sw=4 et: # vim: set ts=4 sw=4 et ft=bash :
update_check() { update_check() {
local i p url pkgurlname rx found_version consider local i p url pkgurlname rx found_version consider
@ -8,15 +8,25 @@ update_check() {
local urlpfx urlsfx local urlpfx urlsfx
local -A fetchedurls local -A fetchedurls
local curlargs=(
-A "xbps-src-update-check/$XBPS_SRC_VERSION"
--max-time 10 --compressed -Lsk
)
pkgname=${pkgname#kf6-}
# XBPS_UPDATE_CHECK_VERBOSE is the old way to show verbose messages
[ "$XBPS_UPDATE_CHECK_VERBOSE" ] && XBPS_VERBOSE="$XBPS_UPDATE_CHECK_VERBOSE"
if [ -r $update_override ]; then if [ -r $update_override ]; then
. $update_override . $update_override
if [ "$XBPS_UPDATE_CHECK_VERBOSE" ]; then msg_verbose "using $XBPS_TARGET_PKG/update overrides\n"
echo "using $XBPS_TARGET_PKG/update overrides" 1>&2 if [ -n "$disabled" ]; then
msg_verbose "update-check DISABLED for $original_pkgname: $disabled\n"
return 0
fi fi
elif [ -z "$distfiles" ]; then elif [ -z "$distfiles" ]; then
if [ "$XBPS_UPDATE_CHECK_VERBOSE" ]; then msg_verbose "NO DISTFILES found for $original_pkgname\n"
echo "NO DISTFILES found for $original_pkgname" 1>&2
fi
return 0 return 0
fi fi
@ -59,7 +69,7 @@ update_check() {
*code.google.com*|*googlecode*|\ *code.google.com*|*googlecode*|\
*launchpad.net*|\ *launchpad.net*|\
*cpan.*|\ *cpan.*|\
*pythonhosted.org*|\ *pythonhosted.org*|*pypi.org/project/*|\
*github.com*|\ *github.com*|\
*//gitlab.*|\ *//gitlab.*|\
*bitbucket.org*|\ *bitbucket.org*|\
@ -90,11 +100,9 @@ update_check() {
esac esac
if [ "$rx" ]; then if [ "$rx" ]; then
# substitute url if needed # substitute url if needed
if [ -n "$XBPS_UPDATE_CHECK_VERBOSE" ]; then msg_verbose "(folder) fetching $urlpfx and scanning with $rx\n"
echo "(folder) fetching $urlpfx and scanning with $rx" 1>&2
fi
skipdirs= skipdirs=
curl -A "xbps-src-update-check/$XBPS_SRC_VERSION" --max-time 10 -Lsk "$urlpfx" | curl "${curlargs[@]}" "$urlpfx" |
grep -Po -i "$rx" | grep -Po -i "$rx" |
# sort -V places 1.1/ before 1/, but 1A/ before 1.1A/ # sort -V places 1.1/ before 1/, but 1A/ before 1.1A/
sed -e 's:$:A:' -e 's:/A$:A/:' | sort -Vru | sed -e 's:A/$:/A:' -e 's:A$::' | sed -e 's:$:A:' -e 's:/A$:A/:' | sort -Vru | sed -e 's:A/$:/A:' -e 's:A$::' |
@ -123,9 +131,10 @@ update_check() {
url="https://launchpad.net/$pkgurlname/+download";; url="https://launchpad.net/$pkgurlname/+download";;
*cpan.*) *cpan.*)
pkgname=${pkgname#perl-};; pkgname=${pkgname#perl-};;
*pythonhosted.org*) *pythonhosted.org*|*pypi.org/project/*)
pkgname=${pkgname#python-} pkgname=${pkgname#python-}
pkgname=${pkgname#python3-} pkgname=${pkgname#python3-}
rx="(?<=${pkgname//-/[-_]}-)[0-9.]+(post[0-9]*)?(?=(([.]tar|-cp|-py)))"
url="https://pypi.org/simple/$pkgname";; url="https://pypi.org/simple/$pkgname";;
*github.com*) *github.com*)
pkgurlname="$(printf %s "$url" | cut -d/ -f4,5)" pkgurlname="$(printf %s "$url" | cut -d/ -f4,5)"
@ -137,16 +146,16 @@ update_check() {
*) pkgurlname="$(printf %s "$url" | cut -d / -f 1-5)";; *) pkgurlname="$(printf %s "$url" | cut -d / -f 1-5)";;
esac esac
url="$pkgurlname/-/tags" url="$pkgurlname/-/tags"
rx='/archive/[^/]+/\Q'"$pkgname"'\E-v?\K[\d.]+(?=\.tar\.gz")';; rx='/archive/[^/]+/\Q'"$pkgname"'\E-v?\K[\d.]+(?=\.tar\.gz)';;
*bitbucket.org*) *bitbucket.org*)
pkgurlname="$(printf %s "$url" | cut -d/ -f4,5)" pkgurlname="$(printf %s "$url" | cut -d/ -f4,5)"
url="https://bitbucket.org/$pkgurlname/downloads" url="https://bitbucket.org/$pkgurlname/downloads"
rx='/(get|downloads)/(v?|\Q'"$pkgname"'\E-)?\K[\d.]+(?=\.tar)';; rx='/(get|downloads)/(v?|\Q'"$pkgname"'\E-)?\K[\d.]+(?=\.tar)';;
*ftp.gnome.org*|*download.gnome.org*) *ftp.gnome.org*|*download.gnome.org*)
: ${pattern="\Q$pkgname\E-\K(0|[13]\.[0-9]*[02468]|[4-9][0-9]+)\.[0-9.]*[0-9](?=.tar)"} rx='(?<=LATEST-IS-)([0-24-9]|3\.[0-9]*[02468]|[4-9][0-9]+)\.[0-9.]*[0-9](?=\")'
url="https://download.gnome.org/sources/$pkgname/cache.json";; url="https://download.gnome.org/sources/$pkgname/cache.json";;
*archive.xfce.org*) *archive.xfce.org*)
: ${pattern="\Q$pkgname\E-\K((([4-9]|([1-9][0-9]+))\.[0-9]*[02468]\.[0-9.]*[0-9])|([0-3]\.[0-9.]*))(?=.tar)"} rx='\Q'"$pkgname"'\E-\K((([4-9]|([1-9][0-9]+))\.[0-9]*[02468]\.[0-9.]*[0-9])|([0-3]\.[0-9.]*))(?=.tar)'
url="https://archive.xfce.org/feeds/project/$pkgname" ;; url="https://archive.xfce.org/feeds/project/$pkgname" ;;
*kernel.org/pub/linux/kernel/*) *kernel.org/pub/linux/kernel/*)
rx=linux-'\K'${version%.*}'[\d.]+(?=\.tar\.xz)';; rx=linux-'\K'${version%.*}'[\d.]+(?=\.tar\.xz)';;
@ -191,16 +200,12 @@ update_check() {
rx=${rx:-'(?<!-)\b\Q'"$pkgname"'\E[-_]?((src|source)[-_])?v?\K([^-/_\s]*?\d[^-/_\s]*?)(?=(?:[-_.](?:src|source|orig))?\.(?:[jt]ar|shar|t[bglx]z|tbz2|zip))\b'} rx=${rx:-'(?<!-)\b\Q'"$pkgname"'\E[-_]?((src|source)[-_])?v?\K([^-/_\s]*?\d[^-/_\s]*?)(?=(?:[-_.](?:src|source|orig))?\.(?:[jt]ar|shar|t[bglx]z|tbz2|zip))\b'}
if [ "${fetchedurls[$url]}" ]; then if [ "${fetchedurls[$url]}" ]; then
if [ -n "$XBPS_UPDATE_CHECK_VERBOSE" ]; then msg_verbose "already fetched $url\n"
echo "already fetched $url" 1>&2
fi
continue continue
fi fi
if [ -n "$XBPS_UPDATE_CHECK_VERBOSE" ]; then msg_verbose "fetching $url and scanning with $rx\n"
echo "fetching $url and scanning with $rx" 1>&2 curl "${curlargs[@]}" -H 'Accept: text/html,application/xhtml+xml,application/xml,text/plain,application/rss+xml' "$url" |
fi
curl -H 'Accept: text/html,application/xhtml+xml,application/xml,text/plain,application/rss+xml' -A "xbps-src-update-check/$XBPS_SRC_VERSION" --max-time 10 -Lsk "$url" |
grep -Po -i "$rx" grep -Po -i "$rx"
fetchedurls[$url]=yes fetchedurls[$url]=yes
done | done |
@ -210,9 +215,7 @@ update_check() {
grep . || echo "NO VERSION found for $original_pkgname" 1>&2 grep . || echo "NO VERSION found for $original_pkgname" 1>&2
} | } |
while IFS= read -r found_version; do while IFS= read -r found_version; do
if [ -n "$XBPS_UPDATE_CHECK_VERBOSE" ]; then msg_verbose "found version $found_version\n"
echo "found version $found_version"
fi
consider=true consider=true
p="$ignore " p="$ignore "
while [ -n "$p" ]; do while [ -n "$p" ]; do
@ -221,9 +224,7 @@ update_check() {
case "$found_version" in case "$found_version" in
$i) $i)
consider=false consider=false
if [ -n "$XBPS_UPDATE_CHECK_VERBOSE" ]; then msg_verbose "ignored $found_version due to $i\n"
echo "ignored $found_version due to $i"
fi
esac esac
done done
if $consider; then if $consider; then

View file

@ -24,11 +24,13 @@ emacs emacs
java-environment openjdk8 java-environment openjdk8
java-runtime openjdk8-jre java-runtime openjdk8-jre
libudev eudev-libudev libudev eudev-libudev
lightdm-greeter base-chroot-cyclic-solver
nodejs-runtime nodejs nodejs-runtime nodejs
ntp-daemon chrony ntp-daemon chrony
phonon-backend phonon-backend-gstreamer phonon-qt6-backend phonon-backend-vlc
phonon-qt5-backend phonon-qt5-backend-gstreamer phonon-qt5-backend phonon-qt5-backend-gstreamer
pipewire-session-manager pipewire-session-manager-bootstrap php-runtime php8.3
pipewire-session-manager base-chroot-cyclic-solver
rkt-stage1 rkt-stage1-coreos rkt-stage1 rkt-stage1-coreos
smtp-server opensmtpd smtp-server opensmtpd
tex texlive tex texlive
@ -37,3 +39,5 @@ xserver-abi-video xorg-server
libGL libglvnd libGL libglvnd
libEGL libglvnd libEGL libglvnd
libGLES libglvnd libGLES libglvnd
hunspell-en_GB hunspell-en_GB-all
libadwaita libadwaita-without-adwaita

View file

@ -1,6 +1,6 @@
# voidlinux remote repositories (musl) # voidlinux remote repositories (musl)
repository=https://repo-default.voidlinux.org/current/musl
repository=https://repo-default.voidlinux.org/current/musl/bootstrap repository=https://repo-default.voidlinux.org/current/musl/bootstrap
repository=https://repo-default.voidlinux.org/current/musl
repository=https://repo-default.voidlinux.org/current/musl/nonfree repository=https://repo-default.voidlinux.org/current/musl/nonfree
repository=https://repo-default.voidlinux.org/current/musl/debug repository=https://repo-default.voidlinux.org/current/musl/debug

View file

@ -1,8 +1,8 @@
# voidlinux remote repositories (glibc) # voidlinux remote repositories (glibc)
repository=https://repo-default.voidlinux.org/current/bootstrap
repository=https://repo-default.voidlinux.org/current repository=https://repo-default.voidlinux.org/current
repository=https://repo-default.voidlinux.org/current/nonfree repository=https://repo-default.voidlinux.org/current/nonfree
repository=https://repo-default.voidlinux.org/current/debug repository=https://repo-default.voidlinux.org/current/debug
repository=https://repo-default.voidlinux.org/current/bootstrap
# Cereus Linux remote repositories (glibc) # Cereus Linux remote repositories (glibc)
repository=https://sourceforge.net/projects/cereus-linux/files/repos/cereus-core/x86_64 repository=https://sourceforge.net/projects/cereus-linux/files/repos/cereus-core/x86_64

View file

@ -6,20 +6,18 @@ build_style=meta
nostrip=yes nostrip=yes
repository="cereus-extra" repository="cereus-extra"
wrksrc=Graphite-color-schemes-${version} wrksrc=Graphite-color-schemes-${version}
depends="Graphite-color-schemes-light \ depends="Graphite-color-schemes-light
Graphite-color-schemes-dark \ Graphite-color-schemes-dark
Graphite-color-schemes-black \ Graphite-color-schemes-black
Graphite-color-schemes-nord-light \ Graphite-color-schemes-nord-light
Graphite-color-schemes-nord-dark" Graphite-color-schemes-nord-dark"
hostmakedepends="git"
short_desc="Custom additional color schemes of Graphite theme for KDE Plasma desktop" short_desc="Custom additional color schemes of Graphite theme for KDE Plasma desktop"
maintainer="Kevin F. <https://github.com/KF-Art>" _commit="8b9a6b3d96c1cf3c476a46bd095b43c71aed33e1"
maintainer="Kevin Figueroa <kfdevart@disroot.org>"
license="GPL-3.0" license="GPL-3.0"
homepage="https://github.com/KF-Art/Graphite-color-schemes" homepage="https://github.com/KF-Art/Graphite-color-schemes"
distfiles="${homepage}/archive/${_commit}.tar.gz"
do_fetch() { checksum=21caa00141911d6943692e2d384117973933b3129e37d3473c29158798e3a768
git clone https://github.com/KF-Art/Graphite-color-schemes ${wrksrc}
}
Graphite-color-schemes-light_package() { Graphite-color-schemes-light_package() {
short_desc+=" - light variant" short_desc+=" - light variant"

View file

@ -6,7 +6,7 @@ wrksrc=${pkgname}-main
repository="cereus-extra" repository="cereus-extra"
_cursordir=usr/share/icons _cursordir=usr/share/icons
short_desc="Graphite cursors theme for Linux desktops" short_desc="Graphite cursors theme for Linux desktops"
maintainer="KF-Art <https://github.com/KF-Art>" maintainer="Kevin Figueroa <kfdevart@disroot.org>"
license="GPL-3.0-or-later" license="GPL-3.0-or-later"
homepage="https://github.com/vinceliuice/${pkgname}" homepage="https://github.com/vinceliuice/${pkgname}"
distfiles="${homepage}/archive/refs/heads/main.zip" distfiles="${homepage}/archive/refs/heads/main.zip"

View file

@ -1,6 +1,6 @@
# Template file for 'Graphite-gtk-theme' # Template file for 'Graphite-gtk-theme'
pkgname=Graphite-gtk-theme pkgname=Graphite-gtk-theme
version=2023.05.17 version=2023.12.31
date=${version//./-} date=${version//./-}
revision=1 revision=1
repository="cereus-extra" repository="cereus-extra"
@ -25,18 +25,18 @@ ${pkgname}-nord-light
${pkgname}-nord-light-compact" ${pkgname}-nord-light-compact"
short_desc="Material design inspired GTK theme with light and dark variants" short_desc="Material design inspired GTK theme with light and dark variants"
maintainer="Kevin F. <kevinfigueroart@proton.me>" maintainer="Kevin Figueroa <kfdevart@disroot.org>"
license="GPL-3.0" license="GPL-3.0"
homepage="https://github.com/vinceliuice/Graphite-gtk-theme" homepage="https://github.com/vinceliuice/Graphite-gtk-theme"
distfiles="${homepage}/archive/refs/tags/${date}.tar.gz" distfiles="${homepage}/archive/refs/tags/${date}.tar.gz"
checksum=aa212d71ba70cfbc3038fc0f850b1265a9d85a3a87ae1a9da024127e25f53903 checksum=b21c3803d2c34928b2f05c6bc9e58995545e135de780ffffc143027b33df4bac
Graphite-gtk-theme-black_package() { Graphite-gtk-theme-black_package() {
nostrip=yes nostrip=yes
short_desc+=' - black variant' short_desc+=' - black variant'
pkg_install() { pkg_install() {
vmkdir ${theme_dir} vmkdir ${theme_dir}
./install.sh -t all -c dark -s standard -n Graphite-black --tweaks rimless black -d ${wrksrc}/themes ./install.sh -t all -c dark -s standard -n Graphite-black --tweaks normal rimless black -d ${wrksrc}/themes
vcopy ${wrksrc}/themes/Graphite-* ${theme_dir} vcopy ${wrksrc}/themes/Graphite-* ${theme_dir}
rm -r ${wrksrc}/themes/* rm -r ${wrksrc}/themes/*
vlicense LICENSE vlicense LICENSE
@ -47,7 +47,7 @@ Graphite-gtk-theme-black-compact_package() {
short_desc+=' - black-compact variant' short_desc+=' - black-compact variant'
pkg_install() { pkg_install() {
vmkdir ${theme_dir} vmkdir ${theme_dir}
./install.sh -t all -c dark -s compact -n Graphite-black --tweaks rimless black -d ${wrksrc}/themes ./install.sh -t all -c dark -s compact -n Graphite-black --tweaks normal rimless black -d ${wrksrc}/themes
vcopy ${wrksrc}/themes/Graphite-* ${theme_dir} vcopy ${wrksrc}/themes/Graphite-* ${theme_dir}
rm -r ${wrksrc}/themes/* rm -r ${wrksrc}/themes/*
vlicense LICENSE vlicense LICENSE
@ -58,7 +58,7 @@ Graphite-gtk-theme-dark_package() {
short_desc+=' - dark variant' short_desc+=' - dark variant'
pkg_install() { pkg_install() {
vmkdir ${theme_dir} vmkdir ${theme_dir}
./install.sh -t all -c dark -s standard --tweaks rimless -d ${wrksrc}/themes ./install.sh -t all -c dark -s standard --tweaks normal rimless -d ${wrksrc}/themes
vcopy ${wrksrc}/themes/Graphite-* ${theme_dir} vcopy ${wrksrc}/themes/Graphite-* ${theme_dir}
rm -r ${wrksrc}/themes/* rm -r ${wrksrc}/themes/*
vlicense LICENSE vlicense LICENSE
@ -69,7 +69,7 @@ Graphite-gtk-theme-dark-compact_package() {
short_desc+=' - dark-compact variant' short_desc+=' - dark-compact variant'
pkg_install() { pkg_install() {
vmkdir ${theme_dir} vmkdir ${theme_dir}
./install.sh -t all -c dark -s compact --tweaks rimless -d ${wrksrc}/themes ./install.sh -t all -c dark -s compact --tweaks normal rimless -d ${wrksrc}/themes
vcopy ${wrksrc}/themes/Graphite-* ${theme_dir} vcopy ${wrksrc}/themes/Graphite-* ${theme_dir}
rm -r ${wrksrc}/themes/* rm -r ${wrksrc}/themes/*
vlicense LICENSE vlicense LICENSE
@ -80,7 +80,7 @@ Graphite-gtk-theme-light_package() {
short_desc+=' - light variant' short_desc+=' - light variant'
pkg_install() { pkg_install() {
vmkdir ${theme_dir} vmkdir ${theme_dir}
./install.sh -t all -c light -s standard --tweaks rimless -d ${wrksrc}/themes ./install.sh -t all -c light -s standard --tweaks normal rimless -d ${wrksrc}/themes
vcopy ${wrksrc}/themes/Graphite-* ${theme_dir} vcopy ${wrksrc}/themes/Graphite-* ${theme_dir}
rm -r ${wrksrc}/themes/* rm -r ${wrksrc}/themes/*
vlicense LICENSE vlicense LICENSE
@ -91,7 +91,7 @@ Graphite-gtk-theme-light-compact_package() {
short_desc+=' - light-compact variant' short_desc+=' - light-compact variant'
pkg_install() { pkg_install() {
vmkdir ${theme_dir} vmkdir ${theme_dir}
./install.sh -t all -c light -s compact --tweaks rimless -d ${wrksrc}/themes ./install.sh -t all -c light -s compact --tweaks normal rimless -d ${wrksrc}/themes
vcopy ${wrksrc}/themes/Graphite-* ${theme_dir} vcopy ${wrksrc}/themes/Graphite-* ${theme_dir}
rm -r ${wrksrc}/themes/* rm -r ${wrksrc}/themes/*
vlicense LICENSE vlicense LICENSE
@ -102,7 +102,7 @@ Graphite-gtk-theme-nord-dark_package() {
short_desc+=' - nord-dark variant' short_desc+=' - nord-dark variant'
pkg_install() { pkg_install() {
vmkdir ${theme_dir} vmkdir ${theme_dir}
./install.sh -t all -c dark -s standard --tweaks rimless nord -d ${wrksrc}/themes ./install.sh -t all -c dark -s standard --tweaks normal rimless nord -d ${wrksrc}/themes
vcopy ${wrksrc}/themes/Graphite-* ${theme_dir} vcopy ${wrksrc}/themes/Graphite-* ${theme_dir}
rm -r ${wrksrc}/themes/* rm -r ${wrksrc}/themes/*
vlicense LICENSE vlicense LICENSE
@ -113,7 +113,7 @@ Graphite-gtk-theme-nord-light_package() {
short_desc+=' - nord-light variant' short_desc+=' - nord-light variant'
pkg_install() { pkg_install() {
vmkdir ${theme_dir} vmkdir ${theme_dir}
./install.sh -t all -c light -s standard --tweaks rimless nord -d ${wrksrc}/themes ./install.sh -t all -c light -s standard --tweaks normal rimless nord -d ${wrksrc}/themes
vcopy ${wrksrc}/themes/Graphite-* ${theme_dir} vcopy ${wrksrc}/themes/Graphite-* ${theme_dir}
rm -r ${wrksrc}/themes/* rm -r ${wrksrc}/themes/*
vlicense LICENSE vlicense LICENSE
@ -124,7 +124,7 @@ Graphite-gtk-theme-nord-dark-compact_package() {
short_desc+=' - nord-dark-compact variant' short_desc+=' - nord-dark-compact variant'
pkg_install() { pkg_install() {
vmkdir ${theme_dir} vmkdir ${theme_dir}
./install.sh -t all -c dark -s compact --tweaks rimless nord -d ${wrksrc}/themes ./install.sh -t all -c dark -s compact --tweaks normal rimless nord -d ${wrksrc}/themes
vcopy ${wrksrc}/themes/Graphite-* ${theme_dir} vcopy ${wrksrc}/themes/Graphite-* ${theme_dir}
rm -r ${wrksrc}/themes/* rm -r ${wrksrc}/themes/*
vlicense LICENSE vlicense LICENSE
@ -135,7 +135,7 @@ Graphite-gtk-theme-nord-light-compact_package() {
short_desc+=' - nord-light-compact variant' short_desc+=' - nord-light-compact variant'
pkg_install() { pkg_install() {
vmkdir ${theme_dir} vmkdir ${theme_dir}
./install.sh -t all -c light -s compact --tweaks rimless nord -d ${wrksrc}/themes ./install.sh -t all -c light -s compact --tweaks normal rimless nord -d ${wrksrc}/themes
vcopy ${wrksrc}/themes/Graphite-* ${theme_dir} vcopy ${wrksrc}/themes/Graphite-* ${theme_dir}
rm -r ${wrksrc}/themes/* rm -r ${wrksrc}/themes/*
vlicense LICENSE vlicense LICENSE

View file

@ -12,7 +12,7 @@ depends="${pkgname}-black
nostrip=yes nostrip=yes
wrksrc=Graphite-kvantum-colors-${version} wrksrc=Graphite-kvantum-colors-${version}
short_desc="Material design inspired Kvantum theme" short_desc="Material design inspired Kvantum theme"
maintainer="Kevin F. <kevinfigueroart@proton.me>" maintainer="Kevin Figueroa <kfdevart@disroot.org>"
license="GPL-3.0" license="GPL-3.0"
homepage="https://github.com/KF-Art/Graphite-kvantum-colors" homepage="https://github.com/KF-Art/Graphite-kvantum-colors"
changelog="${homepage}/releases/tag/${version}" changelog="${homepage}/releases/tag/${version}"

@ -1 +1 @@
Subproject commit 6a60aa0e13561acb6fa9cde4109bff1d8dddf61a Subproject commit 63e53829cff756a2d1de84d823d3ede922ee625b

View file

@ -1,20 +1,21 @@
# Template file for 'Tela-icon-theme' # Template file for 'Tela-icon-theme'
pkgname=Tela-icon-theme pkgname=Tela-icon-theme
version=2023.02.03 version=2024.04.19
date=${version//./-} date=${version//./-}
revision=1 revision=1
build_style=meta build_style=meta
repository=cereus-extra repository=cereus-extra
depends="${pkgname}-standard \ depends="${pkgname}-standard
${pkgname}-black \ ${pkgname}-black
${pkgname}-blue \ ${pkgname}-brown
${pkgname}-green \ ${pkgname}-blue
${pkgname}-grey \ ${pkgname}-green
${pkgname}-orange \ ${pkgname}-grey
${pkgname}-pink \ ${pkgname}-orange
${pkgname}-purple \ ${pkgname}-pink
${pkgname}-red \ ${pkgname}-purple
${pkgname}-yellow \ ${pkgname}-red
${pkgname}-yellow
${pkgname}-manjaro ${pkgname}-manjaro
${pkgname}-ubuntu ${pkgname}-ubuntu
${pkgname}-nord" ${pkgname}-nord"
@ -24,11 +25,11 @@ icondir=usr/share/icons
wrksrc=${pkgname}-${date} wrksrc=${pkgname}-${date}
hostmakedepends="gtk-update-icon-cache" hostmakedepends="gtk-update-icon-cache"
short_desc="A flat colorful Design icon theme" short_desc="A flat colorful Design icon theme"
maintainer="Kevin F. <https://github.com/KF-Art>" maintainer="Kevin Figueroa <kfdevart@disroot.org>"
license="GPL-3.0" license="GPL-3.0"
homepage="https://github.com/vinceliuice/Tela-icon-theme" homepage="https://github.com/vinceliuice/Tela-icon-theme"
distfiles="${homepage}/archive/refs/tags/${date}.tar.gz" distfiles="${homepage}/archive/refs/tags/${date}.tar.gz"
checksum=ab6bf283875a8d777d1a3c8b5969c78a0d329409a4561f4c0f22d36d69171e5d checksum=bff62334a443023a18225b27c045d782822761566bc06e3117a07de54aa11c0c
Tela-icon-theme-standard_package() { Tela-icon-theme-standard_package() {
color=standard color=standard

View file

@ -1,26 +0,0 @@
# Template file for 'aleta-icon-theme'
pkgname=aleta-icon-theme
version=1.1pre8.2022.09.18
revision=1
hostmakedepends="git parallel optipng inkscape"
repository="cereus-extra"
_icondir="usr/share/icons"
short_desc="A material icon pack featuring gradients, squares, and white symbolics"
maintainer="KF-Art <https://github.com/KF-Art>"
license="CC-BY-SA-4.0"
homepage="https://git.owlcode.tech/germedeb/aleta-postre"
do_fetch() {
git clone ${homepage} ${wrksrc}
}
do_build() {
./tasks/build.sh -r
}
do_install() {
vmkdir ${_icondir}
vcopy _build/aleta ${_icondir}/
vcopy AUTHORS.md ${_icondir}/aleta/
vlicense LICENSES/CC-BY-SA-4.0.txt
}

View file

@ -1,20 +1,22 @@
# Template file for 'alttab-git' # Template file for 'alttab-git'
pkgname=alttab-git pkgname=alttab-git
version=2023.03.19 version=2024.06.09
revision=1 revision=1
build_style=gnu-configure build_style=gnu-configure
hostmakedepends="pkg-config git" hostmakedepends="pkg-config"
repository="cereus-extra" repository="cereus-extra"
makedepends="libX11-devel libXft-devel libXmu-devel libXrandr-devel makedepends="libX11-devel libXft-devel libXmu-devel libXrandr-devel
libXrender-devel libpng-devel libXpm-devel uthash automake" libXrender-devel libpng-devel libXpm-devel uthash automake"
checkdepends="procps-ng xvfb-run xeyes xprop" checkdepends="procps-ng xvfb-run xeyes xprop"
short_desc="Task switcher for minimalistic window managers - git branch" _commit="2c4c750e3d1813e7c75dce1058d24fb3d4cc3c80"
maintainer="Kevin F. <kevinfigueroart@proton.me>" short_desc="Task switcher for minimalistic window managers - git development branch"
maintainer="Kevin Figueroa <kfdevart@disroot.org>"
license="GPL-3.0-or-later" license="GPL-3.0-or-later"
homepage="https://github.com/sagb/alttab" homepage="https://github.com/sagb/alttab"
changelog="https://github.com/sagb/alttab/raw/master/ChangeLog" changelog="https://github.com/sagb/alttab/raw/master/ChangeLog"
conflicts="alttab"
replaces="alttab" replaces="alttab"
distfiles="${homepage}/archive/${_commit}.tar.gz"
checksum=59b643c9c5cedd9cde4a02c1bd1efcd9683bb9b5c871dea4c271664f029b7160
make_check=no # needs cnee/xnee which is not packaged make_check=no # needs cnee/xnee which is not packaged
@ -26,7 +28,3 @@ case "$XBPS_TARGET_MACHINE" in
export LDFLAGS="-lfts" export LDFLAGS="-lfts"
;; ;;
esac esac
do_fetch() {
git clone ${homepage} ${wrksrc}
}

View file

@ -1,11 +1,11 @@
# Template file for 'base-cereus' # Template file for 'base-cereus'
pkgname=base-cereus pkgname=base-cereus
version=2023.02.14 version=2023.11.12
revision=1 revision=1
build_style=meta build_style=meta
repository=cereus-core repository=cereus-core
short_desc="Cereus Linux base system meta package" short_desc="Cereus Linux base system meta package"
maintainer="Kevin F. <kevinfigueroart@proton.me>" maintainer="Kevin Figueroa <kfdevart@disroot.org>"
license="Public Domain" license="Public Domain"
conflicts="base-system" conflicts="base-system"
homepage="https://cereuslinuxproject.github.io" homepage="https://cereuslinuxproject.github.io"
@ -25,5 +25,6 @@ case "$XBPS_TARGET_MACHINE" in
esac esac
case "$XBPS_TARGET_MACHINE" in case "$XBPS_TARGET_MACHINE" in
i686*|x86_64*|ppc*) depends+=" linux-default-cereus";; x86_64*|ppc*) depends+=" linux-default-cereus";;
i686*) depends+=" linux-legacy-cereus" ;;
esac esac

View file

@ -1,11 +1,11 @@
# Template file for 'base-cereustrap' # Template file for 'base-cereustrap'
pkgname=base-cereustrap pkgname=base-cereustrap
version=0.11 version=0.11
revision=2 revision=3
build_style=meta build_style=meta
repository="cereus-core" repository="cereus-core"
short_desc="Cereus Linux base system meta package for containers/chroots" short_desc="Cereus Linux base system meta package for containers/chroots"
maintainer="Kevin F. <https://github.com/KF-Art>" maintainer="Kevin Figueroa <kfdevart@disroot.org>"
license="Public Domain" license="Public Domain"
homepage="https://cereuslinuxproject.github.io" homepage="https://cereuslinuxproject.github.io"
@ -14,7 +14,8 @@ depends="
dash bash grep gzip file sed gawk less util-linux which tar man-pages dash bash grep gzip file sed gawk less util-linux which tar man-pages
mdocml>=1.13.3 shadow e2fsprogs btrfs-progs xfsprogs f2fs-tools dosfstools kbd mdocml>=1.13.3 shadow e2fsprogs btrfs-progs xfsprogs f2fs-tools dosfstools kbd
procps-ng tzdata pciutils iana-etc eudev runit-cereus openssh dhcpcd procps-ng tzdata pciutils iana-etc eudev runit-cereus openssh dhcpcd
iproute2 iputils iw xbps nvi traceroute kmod removed-packages" iproute2 iputils iw xbps nvi traceroute kmod removed-packages cereus-repo-core
cereus-repo-extra"
case "$XBPS_TARGET_MACHINE" in case "$XBPS_TARGET_MACHINE" in
*-musl) depends+=" musl musl-locales";; *-musl) depends+=" musl musl-locales";;

View file

@ -7,7 +7,7 @@ build_style=meta
conflicts="base-chroot" conflicts="base-chroot"
repository=cereus-core repository=cereus-core
short_desc="Minimal set of packages required for chroot with xbps-src - Cereus patched version" short_desc="Minimal set of packages required for chroot with xbps-src - Cereus patched version"
maintainer="Kevin F. <https://github.com/KF-Art>" maintainer="Kevin Figueroa <kfdevart@disroot.org>"
license="Public Domain" license="Public Domain"
homepage="https://cereuslinuxproject.github.io" homepage="https://cereuslinuxproject.github.io"

View file

@ -38,8 +38,8 @@ make_system_dirs() {
# Create /var/run and /var/lock symlinks. # Create /var/run and /var/lock symlinks.
for d in run lock; do for d in run lock; do
if [ ! -h "var/$d" -a -d var/${d} ]; then if [ ! -h "var/${d}" -a -d "var/${d}" ]; then
echo "/${d} must not be a directory, exiting!" echo "/var/${d} must not be a directory, exiting!"
exit 1 exit 1
fi fi
done done

View file

@ -0,0 +1 @@
SUBSYSTEM=="usbmon", GROUP="usbmon", MODE="640"

View file

@ -20,6 +20,7 @@ COLOR tty
OPTIONS -F -T 0 OPTIONS -F -T 0
# Below, there should be one TERM entry for each termtype that is colorizable # Below, there should be one TERM entry for each termtype that is colorizable
TERM alacritty
TERM putty-256color TERM putty-256color
TERM rxvt-256color TERM rxvt-256color
TERM screen-256color TERM screen-256color

View file

@ -0,0 +1,34 @@
#compdef vkpurge
local context state state_descr line
typeset -A opt_args
local curcontext="$curcontext"
_arguments -C \
'1: :->subcmd' \
'*:: :->kernels'
case "$state" in
subcmd)
local subcommands=(
'list:list removable kernel versions'
'rm:remove removable kernel versions'
)
_describe -t commands subcommand subcommands
;;
kernels)
curcontext="${curcontext%:*:*}:vkpurge-$line[1]:"
case "$line[1]" in
list)
_arguments '1::version glob: '
;;
rm)
local kernels=(
'all:all removable kernels'
$(vkpurge list all)
)
_describe -t kernels kernel kernels
;;
esac
;;
esac

View file

@ -4,3 +4,4 @@
[[ $- != *i* ]] && return [[ $- != *i* ]] && return
alias ls='ls --color=auto' alias ls='ls --color=auto'
PS1='[\u@\h \W]\$ '

View file

@ -22,6 +22,9 @@ scanner:x:20:
network:x:21: network:x:21:
kvm:x:24: kvm:x:24:
input:x:25: input:x:25:
plugdev:x:26:
usbmon:x:27:
sgx:x:28:
nogroup:x:99: nogroup:x:99:
users:x:100: users:x:100:
xbuilder:x:101: xbuilder:x:101:

Some files were not shown because too many files have changed in this diff Show more