#! /usr/bin/perl

use v5.36;
my %hash;
my ($pkgpath, $fullpkgpath);

while (<>) {
	chomp;
	if (m/^\=\=\=\>\s+(.*)/) {
		$fullpkgpath = $1;
		$pkgpath = $fullpkgpath;
		$pkgpath =~ s/,.*//;
		say STDERR $pkgpath;
		next;
	}
	for my $word (split /\s+/, $_) {
		next if $word =~ m/^\_/;
		next if $word eq "BULK_$pkgpath";
		next if $word eq "BULK_DO_$pkgpath";
		next if $word eq "BULK_TARGETS_$pkgpath";
		next if $word eq "CLEANDEPENDS_$pkgpath";
		next if $word eq "WRKOBJDIR_$pkgpath";
		next if $word eq "FAKEOBJDIR_$pkgpath";
		next if $word =~ m/^LIB.*_VERSION$/;

		for my $w (qw(COMMENT PKG_ARCH PERMIT_PACKAGE PKGFILE
		    PKGNAME PKGSTEM FULLPKGNAME REVISION EPOCH FULLPKGPATH
		    RUN_DEPENDS WANTLIB LIB_DEPENDS IGNORE ONLY_FOR_ARCHS
		    NOT_FOR_ARCHS PKG_ARGS PREFIX CATEGORIES MESSAGE
		    UNMESSAGE DESCR PLIST STATIC_PLIST PKGSPEC SUBST_CMD)) {
		    	$word =~ s/^(\Q$w\E)\-.*/$1/;
		}
		for my $w (qw(SITES DISTFILES SUPDISTFILES PATCHFILES
		    TEMPLATE_DISTFILES TEMPLATE_HOMEPAGE)) {
		    	$word =~ s/^(\Q$w\E)\..*/$1/;
		}
		$hash{$word} //= $pkgpath;
	}
}

for my $w (sort keys %hash) {
	say "$w => $hash{$w}";
}
