Code Monkey home page Code Monkey logo

ai2hub / spksrc Goto Github PK

View Code? Open in Web Editor NEW

This project forked from synocommunity/spksrc

0.0 2.0 0.0 49.19 MB

Cross compilation framework to create native packages for the Synology's NAS

Home Page: https://synocommunity.com/

License: Other

Makefile 46.51% PHP 0.12% C++ 8.94% Perl 0.76% Shell 21.50% C 0.54% SuperCollider 0.21% Python 4.30% JavaScript 12.84% HTML 2.39% CSS 0.94% NewLisp 0.08% Ruby 0.17% Smarty 0.03% Vim Script 0.01% Go 0.58% Dockerfile 0.09% Roff 0.01%

spksrc's Introduction

DSM 7

PLEASE consider: DSM 7 is not officially released yet. The beta release is available since December 08 2020 and a Release Candidate (DSM 7.0-41882) was created on June 01 2021. We expect an official Release of DSM 7 by Synology later in 2021.

In SynoCommunity only few DSM 7 compatible packages released yet.

  • Despite you see packages of SynoCommunity in the Package Center of your Diskstation with DSM 7, most of the packages are not compatible with DSM 7.
  • PLEASE do not create issues saying that package xy cannot be installed on DSM 7.
  • All packages not yet ported to DSM 7 will refuse the installation with a message about "package requires root privileges" (or "invalid file format", ...).
  • We have the framework part of the DSM 7 branch merged and the issue #4524 created that gives an overview of the packages, whether available for DSM 7 or not.
  • We also have started to publish some packages for DSM 7. Please regard those as beta versions (the synocommunity package repository is not capable to declare packages as beta only for DSM 7).
  • If you want to try preview versions of packages for DSM 7 that are built on the master branch, you can find artifacts of the related github actions for manual download and installation (all artifacts are packed into one zip archive).
  • You are welcome to contribute: create your branch and try to build and test the installation of your favorite package and give related feedback. This will shorten the time from official DSM 7 release until the package is available in the SynoCommunity Package Center for download.
  • As this is a community project where people spend there spare time for contribution, it may take a long time until most of the packages are ported to DSM 7. (There are still packages here that are not ported from DSM 5 to DSM 6 yet).

spksrc

spksrc is a cross compilation framework intended to compile and package software for Synology NAS devices. Packages are made available via the SynoCommunity repository.

Contributing

Before opening a new issue, check the FAQ and search open issues. If you can't find an answer, or if you want to open a package request, read CONTRIBUTING to make sure you include all the information needed for contributors to handle your request.

Setup Development Environment

Docker

  • You need a host system running linux. Mac OSX may work with fakeroot tar (see below: how to run the container). Docker on Windows is not supported due to limitations of the underlying file system.
  • Fork and clone spksrc: git clone https://github.com/YOUR-USERNAME/spksrc ~/spksrc
  • Install Docker on your host OS: Docker installation. A wget-based alternative for linux: Install Docker with wget.
  • Download the spksrc docker container: docker pull synocommunity/spksrc
  • Run the container with docker run -it -v ~/spksrc:/spksrc synocommunity/spksrc /bin/bash. On Mac hosts running OSX you might need to use fakeroot with tar to avoid permission errors while extracting the synology toolchain archives. For that reason run the container with docker run -it -v~/spksrc:/spksrc -e TAR_CMD="fakeroot tar" synocommunity/spksrc /bin/bash.

Virtual machine

A virtual machine based on an 64-bit version of Debian 10 stable OS is recommended. Non-x86 architectures are not supported.

  • Install the requirements (in sync with Dockerfile):

    sudo dpkg --add-architecture i386 && sudo apt-get update
    sudo apt update
    sudo apt install autoconf-archive autogen automake bc bison build-essential check cmake curl cython debootstrap ed expect fakeroot flex g++-multilib gawk gettext git gperf imagemagick intltool jq libbz2-dev libc6-i386 libcppunit-dev libffi-dev libgc-dev libgmp3-dev libltdl-dev libmount-dev libncurses-dev libpcre3-dev libssl-dev libtool libunistring-dev lzip mercurial ncurses-dev ninja-build php pkg-config python3 python3-distutils rename scons subversion swig texinfo unzip xmlto zlib1g-dev
    wget https://bootstrap.pypa.io/pip/2.7/get-pip.py -O - | sudo python2
    sudo pip2 install wheel httpie
    wget https://bootstrap.pypa.io/get-pip.py -O - | sudo python3
    sudo pip3 install meson==0.56.0
  • You may need to install some packages from testing like autoconf. Read about Apt-Pinning to know how to do that.
  • Some older toolchains may require 32-bit development versions of packages, e.g. zlib1g-dev:i386

Usage

Once you have a development environment set up, you can start building packages, create new ones, or improve upon existing packages while making your changes available to other people. See the Developers HOW TO for information on how to use spksrc.

Donate

To support SynoCommunity, you can make a donation to its founder

image

License

When not explicitly set, files are placed under a 3 clause BSD license

spksrc's People

Contributors

dr-bean avatar moneytoo avatar hgy59 avatar ymartin59 avatar cytec avatar safihre avatar zebulon501 avatar th0ma7 avatar karaokestu avatar publicarray avatar diaoul avatar m4tt075 avatar manulin44 avatar lost-carrier avatar bru7us avatar gaetancambier avatar kmarty avatar patsissons avatar smaarn avatar maxrogers avatar piejanssens avatar filin20 avatar seblucas avatar joenyland avatar hmflash avatar blackjid avatar piwi82 avatar fgma avatar goodomens83 avatar hurik avatar

Watchers

James Cloos avatar  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.