git: 29d5e9f2c22c - main - devel/rubygem-puppet-modulebuilder: New port

From: Romain Tartière <romain_at_FreeBSD.org>
Date: Tue, 01 Oct 2024 07:03:45 UTC
The branch main has been updated by romain:

URL: https://cgit.FreeBSD.org/ports/commit/?id=29d5e9f2c22c5c27f165929f8b8236401f09aeb8

commit 29d5e9f2c22c5c27f165929f8b8236401f09aeb8
Author:     Romain Tartière <romain@FreeBSD.org>
AuthorDate: 2024-10-01 06:52:23 +0000
Commit:     Romain Tartière <romain@FreeBSD.org>
CommitDate: 2024-10-01 07:03:34 +0000

    devel/rubygem-puppet-modulebuilder: New port
    
    The purpose of this tool is to take a given local module directory and compile
    it into a .tar file, known as the tarball, that can then be installed directly
    by Puppet on a target machine or uploaded onto the Puppet Forge so that it can
    be accessed publicly.
    
    As part of this process any non-deliverable aspects of the module, parts of it
    related to the modules development or testing for example, are stripped away
    leaving only the documentation and the puppet/ruby code that is needed for the
    module to function.
    
    The parts of the module to be excluded are defined in a .pdkignore, .pmtignore
    or .gitignore file with the first one to be found in this given order being
    used. Any directories or files that are listed in the ignore file are then
    excluded, allowing the user to customize what is and what is not excluded.
    
    It should have been committed prior to the update of devel/rubygem-pdk
    in 2891c0317f0e82c88fa061df625a5ffae826c6be but slipped through.
    
    PR:             281772
    Reported by:    cperciva, meta, Trond.Endrestol@ximalas.info
---
 devel/Makefile                                        |  1 +
 devel/rubygem-puppet-modulebuilder/Makefile           | 19 +++++++++++++++++++
 devel/rubygem-puppet-modulebuilder/distinfo           |  3 +++
 .../files/patch-puppet-modulebuilder.gemspec          | 10 ++++++++++
 devel/rubygem-puppet-modulebuilder/pkg-descr          | 14 ++++++++++++++
 5 files changed, 47 insertions(+)

diff --git a/devel/Makefile b/devel/Makefile
index 68192d2c0cde..374bdff53b8b 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -7574,6 +7574,7 @@
     SUBDIR += rubygem-pry-remote-em
     SUBDIR += rubygem-pstore
     SUBDIR += rubygem-ptreloaded
+    SUBDIR += rubygem-puppet-modulebuilder
     SUBDIR += rubygem-puppet-resource_api
     SUBDIR += rubygem-pygments.rb
     SUBDIR += rubygem-que
diff --git a/devel/rubygem-puppet-modulebuilder/Makefile b/devel/rubygem-puppet-modulebuilder/Makefile
new file mode 100644
index 000000000000..546eb9b640b8
--- /dev/null
+++ b/devel/rubygem-puppet-modulebuilder/Makefile
@@ -0,0 +1,19 @@
+PORTNAME=	puppet-modulebuilder
+DISTVERSION=	1.0.0
+CATEGORIES=	devel rubygems
+MASTER_SITES=	RG
+
+MAINTAINER=	puppet@FreeBSD.org
+COMMENT=	Reference implementation for building Puppet modules from source
+WWW=		https://github.com/puppetlabs/puppet-modulebuilder
+
+LICENSE=	APACHE20
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+RUN_DEPENDS=	rubygem-minitar0>=0.9<1:archivers/rubygem-minitar0 \
+		rubygem-pathspec>=0.2.1:devel/rubygem-pathspec
+
+USES=		gem
+NO_ARCH=	yes
+
+.include <bsd.port.mk>
diff --git a/devel/rubygem-puppet-modulebuilder/distinfo b/devel/rubygem-puppet-modulebuilder/distinfo
new file mode 100644
index 000000000000..30ab5414cb02
--- /dev/null
+++ b/devel/rubygem-puppet-modulebuilder/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1726334924
+SHA256 (rubygem/puppet-modulebuilder-1.0.0.gem) = cf9d9e8146aeae780b7c61f30847a4cb631debcf708c21281976d5ed79820cfd
+SIZE (rubygem/puppet-modulebuilder-1.0.0.gem) = 16896
diff --git a/devel/rubygem-puppet-modulebuilder/files/patch-puppet-modulebuilder.gemspec b/devel/rubygem-puppet-modulebuilder/files/patch-puppet-modulebuilder.gemspec
new file mode 100644
index 000000000000..a8ae165dbbe7
--- /dev/null
+++ b/devel/rubygem-puppet-modulebuilder/files/patch-puppet-modulebuilder.gemspec
@@ -0,0 +1,10 @@
+--- puppet-modulebuilder.gemspec.orig	2024-09-14 17:43:35 UTC
++++ puppet-modulebuilder.gemspec
+@@ -22,6 +22,6 @@ Gem::Specification.new do |s|
+   s.specification_version = 4
+ 
+   s.add_runtime_dependency(%q<minitar>.freeze, ["~> 0.9".freeze])
+-  s.add_runtime_dependency(%q<pathspec>.freeze, [">= 0.2.1".freeze, "< 2.0.0".freeze])
++  s.add_runtime_dependency(%q<pathspec>.freeze, [">= 0.2.1".freeze, "< 3.0.0".freeze])
+ end
+ 
diff --git a/devel/rubygem-puppet-modulebuilder/pkg-descr b/devel/rubygem-puppet-modulebuilder/pkg-descr
new file mode 100644
index 000000000000..1c81dff923c2
--- /dev/null
+++ b/devel/rubygem-puppet-modulebuilder/pkg-descr
@@ -0,0 +1,14 @@
+The purpose of this tool is to take a given local module directory and compile
+it into a .tar file, known as the tarball, that can then be installed directly
+by Puppet on a target machine or uploaded onto the Puppet Forge so that it can
+be accessed publicly.
+
+As part of this process any non-deliverable aspects of the module, parts of it
+related to the modules development or testing for example, are stripped away
+leaving only the documentation and the puppet/ruby code that is needed for the
+module to function.
+
+The parts of the module to be excluded are defined in a .pdkignore, .pmtignore
+or .gitignore file with the first one to be found in this given order being
+used. Any directories or files that are listed in the ignore file are then
+excluded, allowing the user to customize what is and what is not excluded.