Giter Site home page Giter Site logo

rakudo-star-chocolatey's Introduction

Chocolatey Package for Rakudo Star

If you'd like help maintain this package (especially to be added to chocolatey as a person who can add maintainers), let me (brian) know.

The Chocolatey package for Rakudo Star. If you'd like to be a maintainer, just ask. I'd like to have a small group of people that can respond to problems (or even just add new maintainers) if someone can't update the package. Someone with Windows or Powershell affinity would be nice.

You can use the bin/cook_templates program to fetch the latest details and prepare the files:

C:\> perl5.24 bin/cook_templates
{"sha256":"6654495651890ebcee98c0d33d392cdcdc18d8deb0412f6f7026cb730bf0bbed",
"url":"http:\/\/rakudo.org\/downloads\/star\/rakudo-star-2017.04.1-x86_64%20(JIT).msi",
"version":"2017.04.1"}

There are some tests for the generated files:

C:\> prove

The cooked templates are in cooked_templates. Change into that directory. Pack and push the update:

C:\> cd cooked_templates
C:\> choco pack
C:\> choco push

After that the package will go through automated testing and human review. That can take several days.

Gory details

Use a minor version (third group of digits) to note the chocolatey attempt. If you have to reupload a package for a modified Rakudo Star release of the same Rakudo Star version, you need that third group to tell chocolatey that this is new.

In rakudostar.nuspec:

  • Update the version
  • Update the release notes

In tools/chocolateyinstall.ps1

  • Update the URL to the direct link (not "latest")
  • Update the SHA256 checksum certUtil -hashfile pathToFileToCheck SHA256

I'm trying to automate those steps. You can try bin/cook_templates then look in cooked_templates to see what happened. I haven't made the next step to automate the bit to accept the templates.

You can test the distro, mostly to check the XML format and byte-order marks. This requires Strawberry Perl:

C:\> prove

Pack the distro:

C:\> choco pack

Push the distro:

C:\> choco push

After this, the chocolatey system will perform some automatic tests and then go into moderation. If everything goes well, in about three days it will be available.

Chocolatey Setup

If you haven't done this before, you probably need to setup chocolatey. You can go through their instructions, but these are the parts I typically need, in reverse order of setup:

You may need to set your API key first (probaby requires admin shell):

C:\> choco apikey -k <your key here> -s https://chocolatey.org/

Get your API key for your chocolatey account page. They hide the API key in a big grey box near the bottom. You need to click to show it.

To install chocolatey, enter an admin shell. In Windows 10, right click on the name in the Start Menu to get the "Admin" option. You don't need an admin shell to pack or push.

PowerShell:

iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

cmd.exe

@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"

rakudo-star-chocolatey's People

Contributors

briandfoy avatar madcapjake avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

enhydra

rakudo-star-chocolatey's Issues

Create the nupkg file automatically

Or, do whatever choco pack does but without choco. My actual goal is to be able to do things directly from a Unix environment, or at least my Mac. My particular problem is that I'm not on Windows and I start a VM to work with that. I'd like to have something that doesn't require a VM.

choco will run on Mono, so a solution might be to merely install Mono.

Or, maybe I can release directly from AppVeyor if things change (#3), and release from there? I'd need much better testing for that. And, I could update from anything, push to GitHub, and AppVeyor takes over. I'd have to expose my Chocolatey API key though, and that's not so good.

If I wanted to skip all that, the NuPkg format is just a zip file:

But, then I'd need to reverse engineer the push protocol.

Feature request: Paid support proposal

I try to have my published Raku modules (40+) be usable on Windows, but I am not an active Windows user, nor do I have a Windows host capable of installing anything newer than MS Pro 10.

In order to help spread the use of Raku to the wide world of Windows, I would like to financially help. I have to go now, but, if interested, please email me at [email protected]. I'm @tbrowder on Github and IRC channel #raku.

Create a Makefile

Codify the steps in make and let this be a single command bit of work.

  • An all step to build the package and everything else without pushing
  • A push target to finish it all
  • A test target

Deploy from AppVeyor

Push a tag and make AppVeyor push to choco. This way doesn't need my Windows virtual machines.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.