notbugAs an Amazon Associate I earn from qualifying purchases.
Want a good read? Try FreeBSD Mastery: Jails (IT Mastery Book 15)
Want a good monitor light? See my photosAll times are UTC
Ukraine
Port details
p5-Data-ModeMerge Merge two nested data structures, with merging modes and options
0.36.0 develnew! on this many watch lists=0 search for ports that depend on this port Find issues related to this port Report an issue related to this port View this port on Repology. pkg-fallout Package not present on quarterly.This port was created during this quarter. It will be in the next quarterly branch but not the current one.
Maintainer: sunpoet@FreeBSD.org search for ports maintained by this maintainer
Port Added: 2024-09-05 06:21:15
Last Update: 2024-09-05 06:11:14
Commit Hash: d8f371a
Also Listed In: perl5
License: ART10 GPLv1+
WWW:
https://metacpan.org/dist/Data-ModeMerge
Description:
There are already several modules on CPAN to do recursive data structure merging, like Data::Merger and Hash::Merge. Data::ModeMerge differs in that it offers merging "modes" and "options". It provides greater flexibility on what the result of a merge between two data should/can be. This module may or may not be what you need. One application of this module is in handling configuration. Often there are multiple levels of configuration, e.g. in your typical Unix command-line program there are system-wide config file in /etc, per-user config file under ~/, and command-line options. It's convenient programatically to load each of those in a hash and then merge system-wide hash with the per-user hash, and then merge the result with the command-line hash to get the a single hash as the final configuration. Your program can from there on deal with this just one hash instead of three. In a typical merging process between two hashes (left-side and right-side), when there is a conflicting key, then the right-side key will override the left-side. This is usually the desired behaviour in our said program as the system-wide config is there to provide defaults, and the per-user config (and the command-line arguments) allow a user to override those defaults.
Homepage    cgit ¦ Codeberg ¦ GitHub ¦ GitLab ¦ SVNWeb - no subversion history for this port

Manual pages:
FreshPorts has no man page information for this port.
pkg-plist: as obtained via: make generate-plist
Expand this list (25 items)
Collapse this list.
  1. /usr/local/share/licenses/p5-Data-ModeMerge-0.36.0/catalog.mk
  2. /usr/local/share/licenses/p5-Data-ModeMerge-0.36.0/LICENSE
  3. /usr/local/share/licenses/p5-Data-ModeMerge-0.36.0/ART10
  4. /usr/local/share/licenses/p5-Data-ModeMerge-0.36.0/GPLv1+
  5. lib/perl5/site_perl/Data/ModeMerge.pm
  6. lib/perl5/site_perl/Data/ModeMerge/Config.pm
  7. lib/perl5/site_perl/Data/ModeMerge/Mode/ADD.pm
  8. lib/perl5/site_perl/Data/ModeMerge/Mode/Base.pm
  9. lib/perl5/site_perl/Data/ModeMerge/Mode/CONCAT.pm
  10. lib/perl5/site_perl/Data/ModeMerge/Mode/DELETE.pm
  11. lib/perl5/site_perl/Data/ModeMerge/Mode/KEEP.pm
  12. lib/perl5/site_perl/Data/ModeMerge/Mode/NORMAL.pm
  13. lib/perl5/site_perl/Data/ModeMerge/Mode/SUBTRACT.pm
  14. lib/perl5/site_perl/man/man3/Data::ModeMerge.3.gz
  15. lib/perl5/site_perl/man/man3/Data::ModeMerge::Config.3.gz
  16. lib/perl5/site_perl/man/man3/Data::ModeMerge::Mode::ADD.3.gz
  17. lib/perl5/site_perl/man/man3/Data::ModeMerge::Mode::Base.3.gz
  18. lib/perl5/site_perl/man/man3/Data::ModeMerge::Mode::CONCAT.3.gz
  19. lib/perl5/site_perl/man/man3/Data::ModeMerge::Mode::DELETE.3.gz
  20. lib/perl5/site_perl/man/man3/Data::ModeMerge::Mode::KEEP.3.gz
  21. lib/perl5/site_perl/man/man3/Data::ModeMerge::Mode::NORMAL.3.gz
  22. lib/perl5/site_perl/man/man3/Data::ModeMerge::Mode::SUBTRACT.3.gz
  23. @owner
  24. @group
  25. @mode
Collapse this list.
Dependency lines:
  • p5-Data-ModeMerge>0:devel/p5-Data-ModeMerge
To install the port:
cd /usr/ports/devel/p5-Data-ModeMerge/ && make install clean
To add the package, run one of these commands:
  • pkg install devel/p5-Data-ModeMerge
  • pkg install p5-Data-ModeMerge
NOTE: If this package has multiple flavors (see below), then use one of them instead of the name specified above.
PKGNAME: p5-Data-ModeMerge
Flavors: there is no flavor information for this port.
distinfo:
TIMESTAMP = 1724084446 SHA256 (Data-ModeMerge-0.360.tar.gz) = 1bac4f668a13be28b7b835f84b3543e5b73d963b6fb38b71c735d9079fbe7454 SIZE (Data-ModeMerge-0.360.tar.gz) = 47971

Packages (timestamps in pop-ups are UTC):
p5-Data-ModeMerge
ABIaarch64amd64armv6armv7i386powerpcpowerpc64powerpc64le
FreeBSD:13:latest0.36.00.36.0-0.36.00.36.0---
FreeBSD:13:quarterly0.36.00.36.0-0.36.00.36.0---
FreeBSD:14:latest0.36.00.36.0-0.36.00.36.0---
FreeBSD:14:quarterly0.36.00.36.0-0.36.00.36.0---
FreeBSD:15:latest0.36.00.36.0n/a0.36.0n/a---
Dependencies
NOTE: FreshPorts displays only information on required and default dependencies. Optional dependencies are not covered.
Build dependencies:
  1. p5-Data-Dmp>=0.241 : devel/p5-Data-Dmp
  2. p5-Mo>=0 : devel/p5-Mo
  3. perl5>=5.36<5.37 : lang/perl5.36
  4. perl5>=5.36<5.37 : lang/perl5.36
Test dependencies:
  1. p5-Test-Exception>=0 : devel/p5-Test-Exception
Runtime dependencies:
  1. p5-Data-Dmp>=0.241 : devel/p5-Data-Dmp
  2. p5-Mo>=0 : devel/p5-Mo
  3. perl5>=5.36<5.37 : lang/perl5.36
This port is required by:
for Build
  1. devel/p5-Data-Sah-Resolve
for Run
  1. devel/p5-Data-Sah-Resolve

Configuration Options:
No options to configure
Options name:
devel_p5-Data-ModeMerge
USES:
perl5
FreshPorts was unable to extract/find any pkg message
Master Sites:
Expand this list (12 items)
Collapse this list.
  1. ftp://ftp.auckland.ac.nz/pub/perl/CPAN/modules/by-module/Data/
  2. ftp://ftp.cpan.org/pub/CPAN/modules/by-module/
  3. ftp://ftp.cpan.org/pub/CPAN/modules/by-module/Data/
  4. ftp://ftp.funet.fi/pub/languages/perl/CPAN/modules/by-module/Data/
  5. ftp://ftp.kddlabs.co.jp/lang/perl/CPAN/modules/by-module/Data/
  6. ftp://ftp.mirrorservice.org/sites/cpan.perl.org/CPAN/modules/by-module/Data/
  7. http://backpan.perl.org/modules/by-module/Data/
  8. http://ftp.jaist.ac.jp/pub/CPAN/modules/by-module/Data/
  9. http://ftp.twaren.net/Unix/Lang/CPAN/modules/by-module/Data/
  10. https://cpan.metacpan.org/modules/by-module/
  11. https://cpan.metacpan.org/modules/by-module/Data/
  12. https://www.cpan.org/modules/by-module/Data/
Collapse this list.

Number of commits found: 1

Commit History - (may be incomplete: for full details, see links to repositories near top of page)
CommitCreditsLog message
0.36.0
05 Sep 2024 06:11:14
commit hash: d8f371acc012ee0c679bde59c18b893c963bcb23commit hash: d8f371acc012ee0c679bde59c18b893c963bcb23commit hash: d8f371acc012ee0c679bde59c18b893c963bcb23commit hash: d8f371acc012ee0c679bde59c18b893c963bcb23 files touched by this commit
Po-Chuan Hsieh (sunpoet) search for other commits by this committer
devel/p5-Data-ModeMerge: Add p5-Data-ModeMerge 0.360

There are already several modules on CPAN to do recursive data structure
merging, like Data::Merger and Hash::Merge. Data::ModeMerge differs in that it
offers merging "modes" and "options". It provides greater flexibility on what
the result of a merge between two data should/can be. This module may or may not
be what you need.

One application of this module is in handling configuration. Often there are
multiple levels of configuration, e.g. in your typical Unix command-line program
there are system-wide config file in /etc, per-user config file under ~/, and
command-line options. It's convenient programatically to load each of those in a
hash and then merge system-wide hash with the per-user hash, and then merge the
result with the command-line hash to get the a single hash as the final
configuration. Your program can from there on deal with this just one hash
instead of three.

In a typical merging process between two hashes (left-side and right-side), when
there is a conflicting key, then the right-side key will override the left-side.
This is usually the desired behaviour in our said program as the system-wide
config is there to provide defaults, and the per-user config (and the
command-line arguments) allow a user to override those defaults.

Number of commits found: 1