Add CI workflow using Nix
This commit is contained in:
parent
d5dbef2c22
commit
33e3fddee8
|
@ -0,0 +1,27 @@
|
|||
name: CMake Build (Nix on Ubuntu x86-64)
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
pull_request:
|
||||
branches:
|
||||
- master
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: cachix/install-nix-action@v12
|
||||
with:
|
||||
nix_path: nixpkgs=https://github.com/NixOS/nixpkgs/archive/a127deeb889b111138f5152e54681577706ab741.tar.gz
|
||||
# ^ this is also specified in the expression file, but I think using any other value here may cause superfluous downloads from the binary cache
|
||||
- name: Grab dependencies and build # and move output to CWD
|
||||
run: |
|
||||
nix-build ./ci-build-drv.nix
|
||||
cp -r "$(realpath "$PWD/result")/bin" ${{runner.workspace}}
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: melonDS
|
||||
path: ${{runner.workspace}}/bin
|
|
@ -0,0 +1,35 @@
|
|||
# mostly copied from nixpkgs: https://github.com/NixOS/nixpkgs/blob/a127deeb889b111138f5152e54681577706ab741/pkgs/misc/emulators/melonDS/default.nix
|
||||
# grab updates from there (at master, maybe bump pinned nixpkgs too), though I don't expect any huge changes
|
||||
|
||||
{ pkgs ? import (fetchTarball "https://github.com/NixOS/nixpkgs/archive/a127deeb889b111138f5152e54681577706ab741.tar.gz") {}
|
||||
, mkDerivation ? pkgs.stdenv.mkDerivation
|
||||
, cmake ? pkgs.cmake
|
||||
, pkg-config ? pkgs.pkg-config
|
||||
, SDL2 ? pkgs.SDL2
|
||||
, qtbase ? pkgs.qt5.qtbase
|
||||
, epoxy ? pkgs.epoxy
|
||||
, libarchive ? pkgs.libarchive
|
||||
, libpcap ? pkgs.libpcap
|
||||
, libslirp ? pkgs.libslirp
|
||||
, pcre ? pkgs.pcre
|
||||
, wrapGAppsHook ? pkgs.wrapGAppsHook
|
||||
}:
|
||||
|
||||
mkDerivation {
|
||||
name = "melonDS-git-ci";
|
||||
|
||||
src = builtins.path { path = ./.; name = "melonDS"; }; # use the directory this file is in (as opposed to downloading a source tarball)
|
||||
|
||||
nativeBuildInputs = [ cmake pkg-config wrapGAppsHook ];
|
||||
buildInputs = [
|
||||
SDL2
|
||||
qtbase
|
||||
epoxy
|
||||
libarchive
|
||||
libpcap
|
||||
libslirp
|
||||
pcre
|
||||
];
|
||||
|
||||
cmakeFlags = [ "-UUNIX_PORTABLE" ];
|
||||
}
|
Loading…
Reference in New Issue