Skip to content
Cross compilation framework to create native packages for the Synology's NAS
Makefile Shell JavaScript C++ Python HTML Other
Branch: master
Clone or download

Latest commit

th0ma7 ffmpeg: update to 4.2.3 including dependencies (#3965)
* ffmpeg: update to version 4.2.3
* gmmlib Intel 20Q1 update version 20.1.1
* libva (2.7.1) and libva-utils (2.7.1) update
* Intel Media Driver 20Q1 update v20.1.1
* Intel Media SDK 20Q1 update version 20.1.1
* x264 update to latest stable and new download url
* x265 update to latest version 3.3
* libogg update to version 1.3.4
* freetype: update to version 2.10.2
* fribidi update to version 1.0.9
* libblueray update to version 1.2.0
* util-linux update to version 2.35
* intel-media-driver update to version 19.4.1
* SVT-AV1 version 0.8.3
* ffmpeg: Add SVT-AV1 experimental support
* SVT-HEVC version 1.4.3 experimental support ffmpeg
* intel-media-driver 20.1.1: patch for issue #907
* Add setuid to vainfo binary
* libaom: update to version 2.0.0-rc1
Latest commit 74d8a1e May 29, 2020


Type Name Latest commit message Commit time
Failed to load latest commit information.
.github framework: add Github actions (#3982) May 26, 2020
cross ffmpeg: update to 4.2.3 including dependencies (#3965) May 29, 2020
diyspk go: 1.13.8 and generic arch ARMv7 build (#3884) Apr 5, 2020
kernel Fix toolchains of northstarplus-6.1 and armadaxp-5.0 Oct 23, 2019
mk toolchains: add purley TC 6.2.2 (#3952) Apr 13, 2020
native mono: update 5.20.1 and adapt applications (#3865) Apr 9, 2020
spk ffmpeg: update to 4.2.3 including dependencies (#3965) May 29, 2020
toolchains toolchains: add purley TC 6.2.2 (#3952) Apr 13, 2020
.dockerignore Add Dockerfile Mar 19, 2015
.gitignore synocli-file: initial package version Sep 17, 2019 Add: Please create a new branch for the PR Apr 4, 2020
Dockerfile synocli-file: add detox and rmlint Sep 23, 2019 Another round of file permission corrections. Oct 19, 2011
Makefile framework: add jsonlint target (#3936) Apr 10, 2020
README.rst Fix typo for missing apt update command Sep 26, 2019



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


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


  • Fork and clone spksrc: git clone ~/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

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 install autogen automake bc bison build-essential check cmake curl cython debootstrap expect flex g++-multilib gettext git gperf imagemagick intltool 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 php pkg-config python3 python3-distutils scons subversion swig unzip xmlto zlib1g-dev
    sudo pip install -U setuptools pip wheel httpie
  • 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


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.


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


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

You can’t perform that action at this time.