Alien::Build::MB(3)

πŸ“¦
version 0.09 Β· 2 versions
, in fedora 43

πŸ’– Alien::Build::MB β€” the manual page, bestie edition πŸ’–

okay so real quick, this is Alien::Build::MB(3) from the User Contributed Perl Documentation collection, and we are about to make it make sense. buckle up πŸŽ€


✨ NAME ✨

Alien::Build::MB β€” it's the Alien::Build installer class for Module::Build, periodt.


🌸 VERSION 🌸

version 0.09 β€” yes, that's the vibe, that's the number πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

so like, in your Build.PL you'd do this:

use Alien::Build::MB;

Alien::Build::MB->new(
  module_name => 'Alien::MyLibrary',
  ...
);

and that's literally it, she's serving πŸ’–


πŸ‘‘ DESCRIPTION πŸ‘‘

so this thing is a Module::Build subclass that uses Alien::Build to help you create Alien distributions. iconic behavior honestly.

but here's the tea, bestie β€” the author recommends Alien::Build::MM instead, which uses ExtUtils::MakeMaker. so why does this class even exist? the primary rationale is to prove independence from any particular installer, so that other installers can be added in the future if they ever become available. it's giving "we're not locked in, we're versatile" 🌈

and if you really do prefer to work with Module::Build though? then this may be the installer for you! no cap 🫢


🧚 CONSTRUCTOR 🧚

new

my $abmb = Alien::Build::MB->new(%args);

takes the usual Module::Build arguments. that's it. nothing spicy, nothing extra, just the classics ✨


πŸ’œ PROPERTIES πŸ’œ

heads up: all Alien::Build::MB specific properties have a alien_ prefix. so if you see alien_ you know it's ours πŸŽ€

alien_alienfile_meta

if this is true (and it is the default, so yes), then extra meta gets stored in x_alienfile which includes the share and system prereqs. slay πŸ’…


🌟 METHODS 🌟

alien_build

my $build = $abmb->alien_build;

returns a freshly deserialized instance of Alien::Build. brand new, fresh out the box πŸ¦‹

⚠️ okay important warning bestie: if you make any changes to this object's install_prop or runtime_prop properties, be sure that you also call $build->checkpoint! do not skip that. do not forget that. it's not optional, it's the moment πŸ’€

πŸ”₯ ACTIONS πŸ”₯

these actions should automatically be called during the normal install process. but for debugging you may want to call them separately β€” which, valid, sometimes you just need to poke at things directly πŸ™ˆ

ACTION_alien_download

./Build alien_download

downloads the package from the internet. for a system install this does not do anything, so like, don't expect fireworks there 😭

ACTION_alien_build

./Build alien_build

builds the package from source. main character energy fr fr πŸ‘‘

ACTION_alien_test

./Build alien_test

runs the package tests, if there are any. and if there aren't? well. vibe check passed by default, i guess 🌸


🌈 SEE ALSO 🌈

  • Alien::Build
  • Alien::Build::MM
  • Alien::Base::ModuleBuild

go read those too, iykyk πŸ’–


πŸ“ AUTHOR πŸ“

Graham Ollis <plicease@cpan.org> β€” shoutout to the author, we love a legend πŸ’œ


this software is copyright (c) 2017-2022 by Graham Ollis.

this is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. free software, free vibes, that's the deal ✨


and that's the whole page bestie!! this was Alien::Build::MB(3), running under perl v5.42.0, dated 2025-07-25 β€” mwah, go install something, you've got this πŸ«ΆπŸŽ€πŸ’…

πŸ“¦ where this page comes from