Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New Build/Packaging System #16483

Closed
vbraun opened this issue Jun 15, 2014 · 10 comments
Closed

New Build/Packaging System #16483

vbraun opened this issue Jun 15, 2014 · 10 comments

Comments

@vbraun
Copy link
Member

vbraun commented Jun 15, 2014

Our current build/packaging system is at the limits of what one can do just with a Makefile and shell scripts. This ticket aims to implement a new system

  • Git-aware: use SHA1 hashes instead of timestamps for dependency calculations
  • Unified machine-readable package configuration using YAML
  • Dependency handling also for optional packages
  • Distinction between different types of dependencies: build time, runtime hard/soft, testing.
  • Modular, allowing for easy experimentation with per-package backends
  • written in pure Python without any dependencies
  • doctested for Python 2.6, 2.7, 3.3, and 3.4.

The entire package configuration will be in a file SAGE_ROOT/build/pkgs/<name>/package.yaml, for example

name:
    matplotlib

category:
    standard

source:
    version:  
        1.3.1
    tarball:
        name:     matplotlib-{source.version}.tar.gz
        sha1:     f340378c43c4c3f6219ef9fd84af4ebbe18f8feb

builder:
    type:            SpkgInstallScript
    install_script:  spkg-install

depends:
    build:
        - pkgconf
        - setuptools
    hard:
        - python
        - numpy
        - freetype
        - libpng
        - gdmodule
        - dateutil
        - pyparsing

Component: build

Author: Volker Braun

Branch/Commit: u/vbraun/buildsystem @ 145ebed

Reviewer: Michael Orlitzky

Issue created by migration from https://trac.sagemath.org/ticket/16483

@vbraun vbraun added this to the sage-6.3 milestone Jun 15, 2014
@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jun 16, 2014

Branch pushed to git repo; I updated commit sha1. New commits:

f23fa75add the sage_c_library package

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jun 16, 2014

Changed commit from 6000c99 to f23fa75

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jun 16, 2014

Branch pushed to git repo; I updated commit sha1. New commits:

f3438e5build -> compile
bc71b57add sage_python_library and sage_noarch packages

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jun 16, 2014

Changed commit from f23fa75 to bc71b57

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jun 16, 2014

Changed commit from bc71b57 to 6c582be

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jun 16, 2014

Branch pushed to git repo; I updated commit sha1. New commits:

e94c3c9fix zn_poly typo
6c582beproper gitignore support

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jun 16, 2014

Changed commit from 6c582be to 145ebed

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jun 16, 2014

Branch pushed to git repo; I updated commit sha1. New commits:

78418adfix doctest
0ce7585working on clean build
1f0eeebswitch the install metadata directory
145ebedtowards a successful build

@sagetrac-vbraun-spam sagetrac-vbraun-spam mannequin modified the milestones: sage-6.3, sage-6.4 Aug 10, 2014
@mkoeppe
Copy link
Member

mkoeppe commented Sep 7, 2021

comment:6

outdated, should close

@mkoeppe mkoeppe removed this from the sage-6.4 milestone Sep 7, 2021
@orlitzky
Copy link
Contributor

Reviewer: Michael Orlitzky

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants