SPVMDIST(1)

πŸ“¦ version 0.990125, in alpine 3.24

🌸 spvmdist(1) β€” the gen-z guide πŸ’…

ok so this is spvmdist, a page from the User Contributed Perl Documentation section of the manual. it's giving "build me a whole SPVM distribution from scratch" energy and honestly? iconic. let's go ✨


πŸ“– Name

spvmdist β€” generating a SPVM distribution, bestie. that's it, that's the whole vibe. 🫢


🧚 Usage

here's the exact shape of it, no cap:

Usage: spvmdist [OPTIONS] CLASS_NAME [DIR]

  spvmdist Foo
  spvmdist Foo My-Foo
  spvmdist Foo::Bar::Baz
  spvmdist --native c Foo
  spvmdist --native c++ Foo
  spvmdist --precompile Foo
  spvmdist --resource Foo

Options:
  -h, --help                     Show this message
  -v, --version                  Show the version
  -q, --quiet                    Quiet output
  -f, --force                    Force to generate files
  --native LANGUAGE              Output a distributioon for a native class
  --precompile                   Add precompilattion setting
  --only-lib-files               Output only the files in "lib" directory
  --no-pm-file                   Don't output Perl module(.pm) file
  --resource                     Output a distributioon for for a resource
  --genlib                       Shortcut for --only-lib-files --no-pm-file
  --user-name NAME               User name
  --user-email EMAIL             User email
  --version_from CLASS_NAME      Add version_from statement

(yes the typos in there are canonical, we do not touch them, they're part of the lore 😭)


πŸ’– Description

spvmdist is literally the command that generates a SPVM distribution. that's the whole job. main character energy only. πŸ‘‘


πŸ”₯ Details

the summoning ritual:

spvmdist [OPTIONS] CLASS_NAME [DIR]

ok so breaking it down:

  • OPTIONS are options. yes they're optional, bestie, that's what optional means. πŸ™ˆ
  • <class name> is the name of the class that lives inside the distribution.
  • DIR is the output directory. also optional! if you don't give it one, the default is just the current directory. comfy.

when <class name> is MyClass, these are the files you get, and yes i'm listing every single one because i would never do you like that:

SPVM-MyClass
SPVM-MyClass/.gitattributes
SPVM-MyClass/MANIFEST.SKIP
SPVM-MyClass/.gitignore
SPVM-MyClass/LICENSE
SPVM-MyClass/Makefile.PL
SPVM-MyClass/t
SPVM-MyClass/t/basic.t
SPVM-MyClass/t/lib
SPVM-MyClass/t/lib/SPVM
SPVM-MyClass/t/lib/SPVM/TestCase
SPVM-MyClass/t/lib/SPVM/TestCase/MyClass.spvm
SPVM-MyClass/README.md
SPVM-MyClass/Changes
SPVM-MyClass/lib
SPVM-MyClass/lib/SPVM
SPVM-MyClass/lib/SPVM/MyClass.spvm
SPVM-MyClass/lib/SPVM/MyClass.pm
⚠️ important: if a file already exists, it does not get overwritten. your stuff is safe, periodt. πŸ’€

✨ Options ✨

🌈 --help

--help

outputs how to use the spvmdist command to standard output. the "help me help you" option. πŸ’œ

🌈 -h

-h

same as --help. tiny version, same slay.

🌈 --version

--version

outputs the version of the spvmdist command to standard output. and plot twist: this version is the same as the version of SPVM. they're matching. πŸŽ€

🌈 -v

-v

same as --version. lowercase icon.

🌈 --quiet

--quiet

suppresses messages from the spvmdist command. she's shy. 🀫

🌈 -q

-q

same as --quiet.

🌈 --force

--force

if this option is specified and files with the same name as the files output by the spvmdist command already exist, those files get overwritten. so like... it will steamroll them. be aware bestie. πŸ”₯

🌈 -f

-f

same as --force.

🌈 --native

--native LANGUAGE

outputs a distribution for a native class specified in LANGUAGE. the default is c.

the list of option values, get into it:

  • c β€” the C language.
  • c++ β€” C++

🌈 --precompile

--precompile

adds the precompilation setting. if your class has precompilation methods, this is the move β€” specify this option and thank yourself later. 🧚

🌈 --only-lib-files

--only-lib-files

output only the files that go into the lib directory. those files are a SPVM class file (.spvm) and a Perl module file (.pm). minimal queen behavior. πŸ’…

🌈 --no-pm-file

--no-pm-file

does not output a Perl module file (.pm). (the og page spells it "Dose" and honestly? me too.)

🌈 --resource

--resource

outputs a distribution for a resource. ✨

🌈 --genlib

--genlib

it's a shortcut that specifies both --only-lib-files and --no-pm-file at once. efficiency!! 🌸

🌈 --user-name

--user-name NAME

specifies the user name NAME.

🌈 --user-email

--user-email EMAIL

specifies the user email EMAIL.

🌈 --version_from

--version_from CLASS_NAME

adds a version_from statement given CLASS_NAME.


Copyright 2023 Yuki Kimoto. All Rights Reserved.

MIT License.


and that's the whole page, bestie πŸ¦‹ β€” this was spvmdist(1) from the User Contributed Perl Documentation, perl v5.42.2, dated 2026-02-03. go generate something cute. πŸ“πŸ’–

πŸ“¦ where this page comes from