Pages: [1]
  Print  
Author Topic: MSYS2, Pacboy, and Virtual Packages  (Read 1194 times)
Offline (Male) Goombert
Posted on: October 01, 2018, 07:53:45 PM

Contributor
Location: Cappuccino, CA
Joined: Jan 2013
Posts: 3068

View Profile
I want to take a quick minute to explain a little bit about Pacboy because Hugar brought a user's installation issues to my attention over Discord. You can consider this post to be a sort of technical explanation and not really an announcement, but I want to try to clarify this for everybody and not just the one person.

The user was having a problem installing git using Pacboy because I forgot a colon on the install page for Windows. The git package in MSYS2 is actually what's called a "virtual" package.
https://github.com/msys2/msys2/wiki/Using-packages#installing-a-package

Because the package is virtual, when you install it with Pacman, you only need to specify git without any x86_64 or i686 suffix. Now what Pacboy is, is it's a bash script written by the MSYS2 people that makes it easier to install Pacman packages so you don't have to specify the long package suffixes.
https://github.com/msys2/msys2/wiki/Using-packages#avoiding-writing-long-package-names

Long story short, with Pacboy the :x is for x86_64 (64 bit) and :i is for i686 (32 bit) just as our instructions said before, but a plain : after the package name, like git:, should be used for virtual packages.

Quote from: Pacboy Terminal Prompt
    Pacboy 2016.6.24
    Copyright (C) 2015, 2016 Renato Silva
    Licensed under BSD

    This is a pacman wrapper for MSYS2 which handles the package prefixes
    automatically, and provides human-friendly commands for common tasks.

    Usage:
        pacboy [command] [arguments]
        Arguments will be passed to pacman or pkgfile after translation:

        For 64-bit MSYS2, name:i means i686-only
        For 64-bit MSYS2, name:x means x86_64-only
        For MSYS shell, name:m means mingw-w64
        For all shells, name: disables any translation for name
        For all shells, repository::name means repository/name

I've updated our Windows installation instructions to clarify all of this.
https://enigma-dev.org/docs/wiki/index.php?title=Install%3AWindows&action=historysubmit&diff=31845&oldid=31833
« Last Edit: October 01, 2018, 08:00:50 PM by Goombert » Logged
I think it was Leonardo da Vinci who once said something along the lines of "If you build the robots, they will make games." or something to that effect.

Offline (Unknown gender) Turbine
Reply #1 Posted on: October 04, 2018, 08:03:39 AM
Member
Joined: Sep 2011
Posts: 1

View Profile
Please add 'make' to the dependencies. The line in the documentation did not contain this package for some reason.
Logged
Offline (Male) Goombert
Reply #2 Posted on: October 04, 2018, 03:51:41 PM

Contributor
Location: Cappuccino, CA
Joined: Jan 2013
Posts: 3068

View Profile
Edit: This post is incorrect slightly, please read my second reply below!!!

Hi Turbine! There's actually no need because the toolchain:x package that is in the list already includes make.

Quote from: MinGW64 Pacboy
$ pacboy -S toolchain:x
:: There are 17 members in group mingw-w64-x86_64-toolchain:
:: Repository mingw64
   1) mingw-w64-x86_64-binutils  2) mingw-w64-x86_64-crt-git
   3) mingw-w64-x86_64-gcc  4) mingw-w64-x86_64-gcc-ada
   5) mingw-w64-x86_64-gcc-fortran  6) mingw-w64-x86_64-gcc-libgfortran
   7) mingw-w64-x86_64-gcc-libs  8) mingw-w64-x86_64-gcc-objc
   9) mingw-w64-x86_64-gdb  10) mingw-w64-x86_64-headers-git
   11) mingw-w64-x86_64-libmangle-git  12) mingw-w64-x86_64-libwinpthread-git
   13) mingw-w64-x86_64-make  14) mingw-w64-x86_64-pkg-config
   15) mingw-w64-x86_64-tools-git  16) mingw-w64-x86_64-winpthreads-git
   17) mingw-w64-x86_64-winstorecompat-git
Enter a selection (default=all):
« Last Edit: October 09, 2018, 08:13:01 PM by Goombert » Logged
I think it was Leonardo da Vinci who once said something along the lines of "If you build the robots, they will make games." or something to that effect.

Offline (Male) Goombert
Reply #3 Posted on: October 09, 2018, 08:16:24 PM

Contributor
Location: Cappuccino, CA
Joined: Jan 2013
Posts: 3068

View Profile
Sorry, Turbine, you are in fact correct that there are still some issues there. This revelation came to me thanks to HitCoder over Discord who was having trouble setting up a 32 bit installation.

The issue here is that there are actually 3 separate make packages that can be installed. There is a global MSYS one and two MinGW ones (one for each architecture). The MSYS one happens to be a virtual package just like git is and must be installed accordingly. So I have updated the Wiki instructions again.
https://enigma-dev.org/docs/wiki/index.php?title=Install%3AWindows&action=historysubmit&diff=31854&oldid=31853

To install the needed make packages you actually need to do:
Code: (Bash) [Select]
# 64 bit
pacboy -S toolchain:x make:
# 32 bit
pacboy -S toolchain:i make:

The toolchain group includes the MinGW make and the make: virtual package includes the MSYS one. Sorry about all the confusion, and I think this should finally resolve this issue.
Logged
I think it was Leonardo da Vinci who once said something along the lines of "If you build the robots, they will make games." or something to that effect.

Pages: [1]
  Print