perl-xs-parse-keyword: Perl Module XS::Parse::Keyword
authorJens Wagner <redacted>
Tue, 20 May 2025 07:26:33 +0000 (09:26 +0200)
committerRobert Marko <redacted>
Tue, 27 May 2025 07:47:29 +0000 (09:47 +0200)
Perl XS functions to assist in parsing keyword syntax

Signed-off-by: Jens Wagner <redacted>
lang/perl-xs-parse-keyword/Makefile [new file with mode: 0644]
lang/perl-xs-parse-keyword/src/Makefile.PL [new file with mode: 0644]

diff --git a/lang/perl-xs-parse-keyword/Makefile b/lang/perl-xs-parse-keyword/Makefile
new file mode 100644 (file)
index 0000000..fbd4f5e
--- /dev/null
@@ -0,0 +1,47 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=perl-xs-parse-keyword
+PKG_VERSION:=0.48
+PKG_RELEASE:=1
+
+PKG_SOURCE_NAME:=XS-Parse-Keyword
+PKG_SOURCE_URL:=https://cpan.metacpan.org/authors/id/P/PE/PEVANS
+PKG_SOURCE:=$(PKG_SOURCE_NAME)-$(PKG_VERSION).tar.gz
+PKG_HASH:=857a070ba465ab5b89d4d8d36d92358edd66e5e7b4a91584611d85125ac9a9c7
+PKG_BUILD_DIR:=$(BUILD_DIR)/perl/$(PKG_SOURCE_NAME)-$(PKG_VERSION)
+
+PKG_MAINTAINER:=Jens Wagner <jens@wagner2013.de>
+PKG_LICENSE:=GPL-1.0-or-later Artistic-1.0-Perl
+PKG_LICENSE_FILES:=LICENSE
+
+include $(INCLUDE_DIR)/package.mk
+include ../perl/perlmod.mk
+
+define Package/perl-xs-parse-keyword
+  SUBMENU:=Perl
+  SECTION:=lang
+  CATEGORY:=Languages
+  TITLE:=Perl XS functions to assist in parsing keyword syntax
+  URL:=https://metacpan.org/pod/XS::Parse::Keyword
+  DEPENDS:=perl +perlbase-essential +perlbase-xsloader
+endef
+
+define Build/Configure
+       $(call perlmod/Configure,,)
+endef
+
+define Build/Compile
+       $(call perlmod/Compile,,)
+endef
+
+define Package/perl-xs-parse-keyword/install
+       $(call perlmod/Install,$(1),XS auto/XS)
+endef
+
+define Build/InstallDev
+       $(INSTALL_DIR) $(1)/usr/share/perl/include
+       $(CP) $(PKG_BUILD_DIR)/share-infix/include/XSParseInfix.h $(1)/usr/share/perl/include/
+       $(CP) $(PKG_BUILD_DIR)/share-keyword/include/XSParseKeyword.h $(1)/usr/share/perl/include/
+endef
+
+$(eval $(call BuildPackage,perl-xs-parse-keyword))
diff --git a/lang/perl-xs-parse-keyword/src/Makefile.PL b/lang/perl-xs-parse-keyword/src/Makefile.PL
new file mode 100644 (file)
index 0000000..89a1350
--- /dev/null
@@ -0,0 +1,29 @@
+require 5.014;
+use ExtUtils::MakeMaker;
+if ( ! -e "Keyword.xs" ) {
+  die $! unless open SRC, "<lib/XS/Parse/Keyword.xs";
+  my $xs = join "", <SRC>;
+  close SRC;
+  die $! unless open DST, ">Keyword.xs";
+  print DST $xs;
+  close DST;
+}
+WriteMakefile
+(
+  'NAME' => 'XS::Parse::Keyword',
+  'VERSION_FROM' => 'lib/XS/Parse/Keyword.pm',
+  'PREREQ_PM' => {
+                   'ExtUtils::CBuilder' => 0,
+                   'ExtUtils::ParseXS' => '3.16',
+                   'File::ShareDir' => '1.00'
+                 },
+  'INSTALLDIRS' => 'site',
+  'EXE_FILES' => [],
+  'PL_FILES' => {},
+  'INC' => '-I. -I./hax -I./src -Ishare-infix/include -Ishare-keyword/include',
+  'C' => ["Keyword.c", glob('src/*.c')],
+  'OBJECT' =>'$(O_FILES)',
+  'DEFINE' =>'-o $@',
+)
+;
+
git clone https://git.99rst.org/PROJECT