mirror of
https://github.com/libretro/parallel-n64.git
synced 2026-11-08 08:10:07 -10:00
MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Brings the 'rebase' branch (52fc98dde, 163 commits, 11 authors) onto current master (08ec54708) as a single squashed change. Authorship of the underlying commits — predominantly Matt Pharoah (105), aglab2 (44), plus smaller contributions from Denis Kopyrin, mudlord, devwizard, Mr-Wiseguy, zoltanvb, twinaphex, libretroadmin, LibretroAdmin, and Eric Warmenhoven — is recorded in the upstream 'rebase' branch (libretro/parallel-n64). Resolves conflicts in 6 files: .gitlab-ci.yml Kept linux-aarch64 + webOS jobs from master alongside osx-arm64, macOS HAVE_THR_AL, and iOS-disabled stanza from rebase HEAD. libretro/libretro.c Kept rebase's retro_core_options_v2 setup_variables; forward-ported astick_snap_active / astick_snap_max_angle / astick_snap_min_displacement_percent globals and their update_variables reads from PR #794, aligned to the registration key parallel-n64-astick-snap-max-angle (fixes the latent typo in #794 where the read key omitted '-max-' and the option had no effect). libretro/libretro_core_options.h Added entries for astick-snap-angle-active, astick-snap-max-angle, and astick-snap-min-displacement-percent so the snap options surface under the v2 options system. mupen64plus-core/src/pi/pi_controller.c Kept both extern blocks: g_rom_size (master, security fix) and AllowUnalignedDMA / AllowLargeRoms / SdCardEmulationEnabled (rebase). mupen64plus-core/src/plugin/emulate_game_controller_via_libretro.c Added M_PI guard, snap externs, and the snap-angle math from PR #794 into scale_joystick (refactored helper on rebase) rather than inputGetKeys_reuse. mupen64plus-core/src/rsp/rsp_core.c In read_rsp_regs2/write_rsp_regs2, combined SP_REGS2_COUNT bounds check (master) with SP_PC_REG masking (rebase). mupen64plus-rsp-paraLLEl/rsp_disasm.hpp Kept <stdint.h> rather than <cstdint> for consistency with the other headers in the paraLLEl-RSP module. Also fixes a pre-existing inconsistency in the rebase branch that strict GCC rejects under -Wincompatible-pointer-types: mupen64plus-core/src/si/game_controller.h Changed the get_gcn_input struct field's analogMode parameter from uint8_t to int, matching init_game_controller's parameter type, game_controller_gcn_get_input's signature, and the egcvip_get_gcn_input implementation (all three already used int).
183 lines
3.9 KiB
Docker
183 lines
3.9 KiB
Docker
FROM ubuntu:xenial
|
|
|
|
ENV DEBIAN_FRONTEND="noninteractive"
|
|
|
|
ARG uid
|
|
ARG branch=master
|
|
ENV branch=$branch
|
|
|
|
ARG NUMPROC
|
|
|
|
ENV PACKAGES \
|
|
build-essential \
|
|
bash \
|
|
bc \
|
|
bzip2 \
|
|
diffutils \
|
|
ccache \
|
|
curl \
|
|
doxygen \
|
|
fuse \
|
|
gcc \
|
|
g++ \
|
|
g++-multilib \
|
|
gettext \
|
|
git \
|
|
gnupg \
|
|
gnupg2 \
|
|
gawk \
|
|
make \
|
|
nsis \
|
|
texinfo \
|
|
autoconf \
|
|
automake \
|
|
autopoint \
|
|
bison \
|
|
bzip2 \
|
|
gzip \
|
|
flex \
|
|
gettext \
|
|
gperf \
|
|
intltool \
|
|
less \
|
|
libasound2 \
|
|
libass-dev \
|
|
libbz2-dev \
|
|
libc6-dev-i386 \
|
|
libffi-dev \
|
|
libgdbm-dev \
|
|
libgdk-pixbuf2.0-dev \
|
|
libglib2.0-dev \
|
|
libglu1-mesa-dev \
|
|
libltdl-dev \
|
|
libpcap-dev \
|
|
libssl-dev \
|
|
libreadline-dev \
|
|
libtool \
|
|
libtool-bin \
|
|
libxml-parser-perl \
|
|
libjson-perl \
|
|
libncurses5-dev \
|
|
libssl-dev \
|
|
libx11-dev \
|
|
lzip \
|
|
lzop \
|
|
mesa-common-dev \
|
|
meson \
|
|
p7zip-full \
|
|
patch \
|
|
patchutils \
|
|
perl \
|
|
pkg-config \
|
|
ruby \
|
|
sed \
|
|
sudo \
|
|
swig \
|
|
tar \
|
|
texinfo \
|
|
unzip \
|
|
u-boot-tools \
|
|
uuid-dev \
|
|
wget \
|
|
nasm \
|
|
bsdmainutils \
|
|
xfonts-utils \
|
|
xsltproc \
|
|
xz-utils \
|
|
libwxgtk3.0-dev \
|
|
libgtk2.0-dev \
|
|
libgtk-3-dev \
|
|
liblzma-dev \
|
|
libaio-dev
|
|
|
|
RUN set -eux; \
|
|
apt-get -y update; \
|
|
apt-get -y install -y unzip; \
|
|
useradd -d /developer -m developer; \
|
|
chown -R developer:developer /developer
|
|
|
|
RUN set -eux; \
|
|
apt-get update -y; \
|
|
apt-get -y install $PACKAGES; \
|
|
apt-get -y autoremove; \
|
|
apt-get -y clean; \
|
|
rm -rf /var/lib/apt/lists/*
|
|
|
|
RUN set -eux; \
|
|
apt-get update -y; \
|
|
apt-get -y install software-properties-common;
|
|
|
|
RUN set -eux; \
|
|
apt-get upgrade -y; \
|
|
apt-get dist-upgrade -y; \
|
|
add-apt-repository -y --update ppa:ubuntu-toolchain-r/test; \
|
|
apt-get update -y; \
|
|
apt-get -y install gcc-9 g++-9; \
|
|
rm -rf /var/lib/apt/lists/*
|
|
|
|
RUN set -eux; \
|
|
echo "1" | update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 60 --slave /usr/bin/g++ g++ /usr/bin/g++-9; \
|
|
echo "1" | update-alternatives --config gcc
|
|
|
|
RUN set -eux; \
|
|
apt-get update -y; \
|
|
apt-get -y install apt-transport-https ca-certificates; \
|
|
wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | sudo tee /etc/apt/trusted.gpg.d/kitware.gpg >/dev/null; \
|
|
apt-add-repository -y 'deb https://apt.kitware.com/ubuntu/ xenial main'; \
|
|
apt-get update -y; \
|
|
apt-get -y install kitware-archive-keyring; \
|
|
rm /etc/apt/trusted.gpg.d/kitware.gpg; \
|
|
apt-get -y install cmake; \
|
|
rm -rf /var/lib/apt/lists/*
|
|
|
|
RUN set -eux; \
|
|
cd /tmp; \
|
|
wget --no-check-certificate -nv "https://www.openssl.org/source/openssl-1.1.1o.tar.gz" -O- | tar xz; \
|
|
cd openssl-*; \
|
|
CC=gcc-9 CXX=g++-9 ./config --prefix=/usr/local; \
|
|
make -j$(nproc); \
|
|
make install -j$(nproc); \
|
|
cd ..; \
|
|
rm -rf *; \
|
|
rm -rf /usr/local/share/doc/*; \
|
|
rm -rf /usr/local/share/man/*; \
|
|
ldconfig
|
|
|
|
RUN set -eux; \
|
|
cd /tmp; \
|
|
wget -nv "https://www.python.org/ftp/python/3.10.4/Python-3.10.4.tar.xz" -O- | tar xJ; \
|
|
mkdir build; \
|
|
cd build; \
|
|
CC=gcc-9 CXX=g++-9 ../Python-*/configure \
|
|
--prefix=/usr/local \
|
|
--enable-optimizations \
|
|
; \
|
|
make -j$(nproc); \
|
|
make altinstall; \
|
|
ln -sf /usr/local/bin/python3.10 /usr/local/bin/python3; \
|
|
cd ..; \
|
|
rm -rf *; \
|
|
rm -rf /usr/local/share/doc/*; \
|
|
rm -rf /usr/local/share/man/*; \
|
|
ldconfig
|
|
|
|
RUN set -eux; \
|
|
python3 -m pip install --upgrade --no-cache-dir pip; \
|
|
python3 -m pip install --no-cache-dir \
|
|
mako \
|
|
ninja \
|
|
pyyaml \
|
|
setuptools \
|
|
sphinx \
|
|
;
|
|
|
|
RUN echo "developer:developer" | chpasswd && adduser developer sudo
|
|
|
|
ENV HOME=/developer
|
|
|
|
USER root
|
|
WORKDIR /developer
|
|
VOLUME /developer
|
|
|
|
CMD /bin/bash
|