A package manager. Nothing special. https://maxwellj.xyz/mapm
Go to file
2024-10-01 11:11:54 +10:00
src/main/kotlin Update src/main/kotlin/Main.kt 2024-10-01 11:11:54 +10:00
.gitignore I can't remember what I worked on just have a look 2024-09-19 13:17:06 +10:00
build.gradle.kts Cope better when not enough arguments are inputted 2024-09-20 13:23:50 +10:00
LICENSE Add license 2024-08-28 13:35:19 +10:00
README.md Update README.md 2024-09-20 13:40:37 +10:00
settings.gradle.kts Initial commit 2024-08-28 13:29:10 +10:00

Mapm. Max's Package Manager.

What is Mapm?

Mapm is a package manager (written in Kotlin) for, you know, managing packages. So far it's VERY early in development. Mapm is designed to run on the JVM, while using a UNIX-like system.

Why?

No reason. :)

Setup

Make sure Java 17 or later is installed! Mapm is built targeting 17 or later, so it will not run on older versions!

Express

Run the command curl https://maxwellj.xyz/mapm/mapm.sh | bash. This will run an express setup script.

Manual

Make directories /usr/mapm and /usr/mapm/tmp. Add /usr/mapm to path. Download the files and make sure Gradle is installed. Run gradle distTar to compile a Tar file with all the needed Jars in it, including mapm. Untar the archive in build/distributions. Run ./(where tar extracted to)/bin/mapm. (or mapm.bat if you're crazy)

Usage

Run mapm. For now, command line arguments aren't supported, but this is planned for a later date. Once you're in mapm, you can type grab and press enter. Type the thing you want and it will download.

Making a mapm package

To make a mapm package, go to https://git.maxwellj.xyz/mapm/stable and submit a pull request. Add your package's name as the file name, and the link to where your package is stored as the contents. Don't add anything more or you'll confuse mapm. Make sure the link points to a .tar.xz archive. The file structure should be like this:

├── (packagename) (A symbolic link to your executable in packagename.d)
└── (packagename).d
    ├── executable
    └── Any other files your package needs

Zip all that up into a .tar.xz file and upload it to your own server. After creating the .tar.xz, use Mapm to create a checksum for the file. Run mapm, type checksum, press enter and type the file path. For now, there is no polished system for package processing, so for now send an email to max AT maxwellj.xyz with the package link and hash.

Note: If your package requires an update, make sure to email an updated link and hash, otherwise Mapm will reject your package when it is being installed.

Making your own repo

For now, this isn't a thing, but you'll be able to when configuration is a thing.

FAQ's

What is mapm?

Mapm is a package manager, intended for UNIX-based/like OSes, running on the JVM. Mapm packages are organised neatly in /usr/mapm. When built around Mapm, packages have both their executables and config files inside one directory, with one symbolic link or launch script in /usr/mapm.

Is Mapm any good?

For now, Mapm doesn't have support for dependencies, meaning if your program requires another library, Mapm won't be able to provide those yet. Mapm also hasn't got very many packages right now, as it is still very experimental.