perl-xs-parse-sublike: Perl Module XS::Parse::Sublike
authorJens Wagner <[email protected]>
Tue, 20 May 2025 07:27:23 +0000 (09:27 +0200)
committerRobert Marko <[email protected]>
Tue, 27 May 2025 07:47:29 +0000 (09:47 +0200)
Perl XS functions to assist in parsing sub-like syntax

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

diff --git a/lang/perl-xs-parse-sublike/Makefile b/lang/perl-xs-parse-sublike/Makefile
new file mode 100644 (file)
index 0000000..7a63813
--- /dev/null
@@ -0,0 +1,46 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=perl-xs-parse-sublike
+PKG_VERSION:=0.37
+PKG_RELEASE:=1
+
+PKG_SOURCE_NAME:=XS-Parse-Sublike
+PKG_SOURCE_URL:=https://cpan.metacpan.org/authors/id/P/PE/PEVANS
+PKG_SOURCE:=$(PKG_SOURCE_NAME)-$(PKG_VERSION).tar.gz
+PKG_HASH:=736528c888ea7b6a6191011e5d5a7824ec38a5620507de6ef45e4bc6e1cf0da9
+PKG_BUILD_DIR:=$(BUILD_DIR)/perl/$(PKG_SOURCE_NAME)-$(PKG_VERSION)
+
+PKG_MAINTAINER:=Jens Wagner <[email protected]>
+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-sublike
+  SUBMENU:=Perl
+  SECTION:=lang
+  CATEGORY:=Languages
+  TITLE:=Perl XS functions to assist in parsing sub-like syntax
+  URL:=https://metacpan.org/pod/XS::Parse::Sublike
+  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-sublike/install
+       $(call perlmod/Install,$(1),Sublike XS auto/XS)
+endef
+
+define Build/InstallDev
+       $(INSTALL_DIR) $(1)/usr/share/perl/include
+       $(CP) $(PKG_BUILD_DIR)/share/include/XSParseSublike.h $(1)/usr/share/perl/include/
+endef
+
+$(eval $(call BuildPackage,perl-xs-parse-sublike))
diff --git a/lang/perl-xs-parse-sublike/src/Makefile.PL b/lang/perl-xs-parse-sublike/src/Makefile.PL
new file mode 100644 (file)
index 0000000..ee2d1c0
--- /dev/null
@@ -0,0 +1,28 @@
+require 5.016;
+use ExtUtils::MakeMaker;
+if ( ! -e "Sublike.xs" ) {
+  die $! unless open SRC, "<lib/XS/Parse/Sublike.xs";
+  my $xs = join "", <SRC>;
+  close SRC;
+  die $! unless open DST, ">Sublike.xs";
+  print DST $xs;
+  close DST;
+}
+WriteMakefile
+(
+  'NAME' => 'XS::Parse::Sublike',
+  'VERSION_FROM' => 'lib/XS/Parse/Sublike.pm',
+  'PREREQ_PM' => {
+                   'ExtUtils::CBuilder' => 0,
+                   'File::ShareDir' => '1.00'
+                 },
+  'INSTALLDIRS' => 'site',
+  'EXE_FILES' => [],
+  'PL_FILES' => {},
+  'INC' => '-I. -Ishare/include -Iinclude -Ihax',
+  'C' => ["Sublike.c", glob('src/*.c')],
+  'OBJECT' =>'$(O_FILES)',
+  'DEFINE' =>'-o $@',
+)
+;
+