Added initial Dockerfiles.
This commit is contained in:
parent
158ff90de5
commit
71823f7788
4
linux-fresh/Dockerfile
Normal file
4
linux-fresh/Dockerfile
Normal file
@ -0,0 +1,4 @@
|
||||
FROM ubuntu:18.04
|
||||
MAINTAINER citra
|
||||
RUN apt-get update && apt-get -y full-upgrade
|
||||
RUN apt-get install -y build-essential libsdl2-dev qtbase5-dev libqt5opengl5-dev qtmultimedia5-dev qttools5-dev qttools5-dev-tools wget git ccache cmake
|
15
linux-frozen/Dockerfile
Normal file
15
linux-frozen/Dockerfile
Normal file
@ -0,0 +1,15 @@
|
||||
FROM ubuntu:18.04
|
||||
MAINTAINER citra
|
||||
RUN mkdir -p /tmp/pkgs
|
||||
COPY install_package.py /tmp/pkgs
|
||||
RUN apt-get update && apt-get install -y build-essential wget git python-launchpadlib ccache
|
||||
RUN cd /tmp/pkgs && python2 install_package.py \
|
||||
libsdl2-dev 2.0.7+dfsg1-3ubuntu1 bionic \
|
||||
qtbase5-dev 5.9.3+dfsg-0ubuntu2 bionic \
|
||||
libqt5opengl5-dev 5.9.3+dfsg-0ubuntu2 bionic \
|
||||
qt5-qmltooling-plugins 5.9.3-0ubuntu1 bionic \
|
||||
qtdeclarative5-dev 5.9.3-0ubuntu1 bionic \
|
||||
qtmultimedia5-dev 5.9.3-0ubuntu3 bionic \
|
||||
libicu57 57.1-6ubuntu0.2 bionic \
|
||||
cmake 3.10.2-1ubuntu2 bionic
|
||||
RUN rm -rf /tmp/pkgs
|
52
linux-frozen/install_package.py
Executable file
52
linux-frozen/install_package.py
Executable file
@ -0,0 +1,52 @@
|
||||
#!/usr/bin/python
|
||||
|
||||
import sys
|
||||
import re
|
||||
import subprocess
|
||||
from launchpadlib.launchpad import Launchpad
|
||||
|
||||
if sys.version_info[0] > 2:
|
||||
xrange = range
|
||||
|
||||
cachedir = '/.launchpadlib/cache/'
|
||||
launchpad = Launchpad.login_anonymously(
|
||||
'grab build info', 'production', cachedir, version='devel')
|
||||
|
||||
processed_packages = []
|
||||
deb_file_list = []
|
||||
|
||||
|
||||
def get_url(pkg, distro):
|
||||
build_ref = launchpad.archives.getByReference(reference='ubuntu').getPublishedBinaries(
|
||||
binary_name=pkg[0], distro_arch_series='https://api.launchpad.net/devel/ubuntu/' + distro + '/amd64', version=pkg[1], exact_match=True, order_by_date=True).entries[0]
|
||||
build_link = build_ref['build_link']
|
||||
deb_name = '{}_{}_{}.deb'.format(pkg[0], pkg[1], 'amd64' if build_ref['architecture_specific'] else 'all')
|
||||
deb_link = build_link + '/+files/' + deb_name
|
||||
return [deb_link, deb_name]
|
||||
|
||||
|
||||
def list_dependencies(deb_file):
|
||||
t = subprocess.check_output(
|
||||
['bash', '-c', '(dpkg -I {} | grep -oP "^ Depends\: \K.*$") || true'.format(deb_file)])
|
||||
deps = [i.strip() for i in t.split(',')]
|
||||
equals_re = re.compile(r'^(.*) \(= (.*)\)$')
|
||||
return [equals_re.sub(r'\1=\2', i).split('=') for i in filter(equals_re.match, deps)]
|
||||
|
||||
|
||||
def get_package(pkg, distro):
|
||||
if pkg in processed_packages:
|
||||
return
|
||||
print('Getting {}...'.format(pkg[0]))
|
||||
url = get_url(pkg, distro)
|
||||
subprocess.check_call(['wget', '--quiet', url[0], '-O', url[1]])
|
||||
for dep in list_dependencies(url[1]):
|
||||
get_package(dep, distro)
|
||||
processed_packages.append(pkg)
|
||||
deb_file_list.append('./' + url[1])
|
||||
|
||||
|
||||
for i in xrange(1, len(sys.argv), 3):
|
||||
get_package([sys.argv[i], sys.argv[i + 1]], sys.argv[i + 2])
|
||||
|
||||
subprocess.check_call(
|
||||
['apt-get', 'install', '-y', '--force-yes'] + deb_file_list)
|
7
linux-mingw/Dockerfile
Normal file
7
linux-mingw/Dockerfile
Normal file
@ -0,0 +1,7 @@
|
||||
FROM ubuntu:18.04
|
||||
MAINTAINER citra
|
||||
RUN apt-get update && apt-get install -y gpg wget git python3-pip ccache g++-mingw-w64-x86-64 gcc-mingw-w64-x86-64 mingw-w64-tools cmake
|
||||
# HACK: the repository does not contain necessary packages for 18.04, we'll use packages for 17.10 for now
|
||||
RUN echo 'deb http://ppa.launchpad.net/tobydox/mingw-w64/ubuntu artful main ' > /etc/apt/sources.list.d/extras.list
|
||||
RUN apt-key adv --keyserver keyserver.ubuntu.com --recv '72931B477E22FEFD47F8DECE02FE5F12ADDE29B2' && apt-get update
|
||||
RUN apt-get install -y sdl2-mingw-w64 qt5base-mingw-w64 qt5tools-mingw-w64 libsamplerate-mingw-w64 qt5multimedia-mingw-w64
|
Loading…
x
Reference in New Issue
Block a user