From c46536d76fd0e01a79de8e8a6726cca90259823d Mon Sep 17 00:00:00 2001 From: Jens Wagner Date: Tue, 20 May 2025 09:26:33 +0200 Subject: [PATCH] perl-xs-parse-keyword: Perl Module XS::Parse::Keyword Perl XS functions to assist in parsing keyword syntax Signed-off-by: Jens Wagner --- lang/perl-xs-parse-keyword/Makefile | 47 ++++++++++++++++++++++ lang/perl-xs-parse-keyword/src/Makefile.PL | 29 +++++++++++++ 2 files changed, 76 insertions(+) create mode 100644 lang/perl-xs-parse-keyword/Makefile create mode 100644 lang/perl-xs-parse-keyword/src/Makefile.PL diff --git a/lang/perl-xs-parse-keyword/Makefile b/lang/perl-xs-parse-keyword/Makefile new file mode 100644 index 0000000000..fbd4f5ec18 --- /dev/null +++ b/lang/perl-xs-parse-keyword/Makefile @@ -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 +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 index 0000000000..89a1350537 --- /dev/null +++ b/lang/perl-xs-parse-keyword/src/Makefile.PL @@ -0,0 +1,29 @@ +require 5.014; +use ExtUtils::MakeMaker; +if ( ! -e "Keyword.xs" ) { + die $! unless open 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 $@', +) +; + -- 2.30.2