Giter VIP home page Giter VIP logo

spbuild's Introduction

NAME

StrawberryPerl Builder - Setup an environment for building Strawberry Perl

SYNOPSIS

Issues:

  • It's hard to garner help because the build process is so complex and big.
  • There isn't a working compiler/linker for Windows that we can rely on, so we have to build our own on top of MSYS2 using MinGW.
  • The compiler choice makes it nearly impossible to use DLLs built by MSVC so we have to build our own of everything.
  • We have to build some libraries never meant for Windows.
  • We have to build some libraries that haven't had updates in years.
  • We have to build some libraries that rely on Perl for their build process (fun!)
  • Many libraries we have to build have one-off customizations we have to patch in for our purposes.
  • Every time we build these, we have to keep the compiler version and library binaries at the same exact build throughout the entirety of the Perl version we're building.
  • Once we have all of those things built and ready, we have to build Perl itself.
  • Once we have a built Perl, we have to go through and install some Perl modules to ship along with it.
  • Once we have everything built, we have to package it all up.
  • Once it's all packaged up, we have to release it to the site.

Part of the biggest issue is getting help. The complexities listed above scare off most people. So, we're trying to find ways to make all of that a bit of an easier starting point for anyone wanting to contribute. Running docker containers for Windows is a pain, but at least if it's all there and automated for the builds, we might be able to get some more help since they could simply update and run the containers for whatever they think they could help with. That's what the idea behind this repository is.

Possible Solution:

Build all of the compiler environment and then the third-party libraries necessary for Perl with one docker suite that stores the results in S3 or something. Then run a second docker suite that grabs all of that and builds Perl for us with the libraries and Perl modules we know we're wanting. Then yet a third docker suite that packages everything up for distribution and pushes it to the site.

What We Need:

We'd be more than happy to have feedback and/or help with a better solution or with this Docker idea.

AUTHOR

Chase Whitener <[email protected]>

COPYRIGHT & LICENSE

Copyright 2019, Chase Whitener, All Rights Reserved.

You may use, modify, and distribute this package under the same terms as Perl itself.

spbuild's People

Contributors

genio avatar

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.