diff options
Diffstat (limited to 'pkgs')
-rw-r--r-- | pkgs/default.nix | 7 | ||||
-rw-r--r-- | pkgs/ez80asm/default.nix | 29 | ||||
-rw-r--r-- | pkgs/fab-agon-emulator/default.nix | 40 | ||||
-rw-r--r-- | pkgs/pop/default.nix | 80 |
4 files changed, 156 insertions, 0 deletions
diff --git a/pkgs/default.nix b/pkgs/default.nix new file mode 100644 index 0000000..3adb50d --- /dev/null +++ b/pkgs/default.nix @@ -0,0 +1,7 @@ +# Custom packages, that can be defined similarly to ones from nixpkgs +# You can build them using 'nix build .#example' +{pkgs ? import <nixpkgs> {}, ...}: rec { + ez80asm = pkgs.callPackage ./ez80asm {}; + fab-agon-emulator = pkgs.callPackage ./fab-agon-emulator {}; + pop = pkgs.callPackage ./pop {}; +} diff --git a/pkgs/ez80asm/default.nix b/pkgs/ez80asm/default.nix new file mode 100644 index 0000000..b2dc2d0 --- /dev/null +++ b/pkgs/ez80asm/default.nix @@ -0,0 +1,29 @@ +{ + stdenv, + lib, + fetchFromGitHub, +}: +stdenv.mkDerivation rec { + pname = "ez80asm"; + version = "1.11"; + + meta = with lib; { + description = "ez80 assembler, running natively on the Agon platform"; + homepage = "https://github.com/envenomator/agon-ez80asm"; + license = licenses.mit; + platforms = platforms.linux; + # maintainers = [ maintainers.sadbeast ]; + }; + + src = fetchFromGitHub { + owner = "envenomator"; + repo = "agon-ez80asm"; + rev = "v${version}"; + hash = "sha256-0AOblG3QGRpdUzoSffhFaRjgOCmbu3WFjvOiiA4NT8U="; + }; + + installPhase = '' + mkdir --parents "$out/bin" + cp ./bin/ez80asm "$out/bin" + ''; +} diff --git a/pkgs/fab-agon-emulator/default.nix b/pkgs/fab-agon-emulator/default.nix new file mode 100644 index 0000000..0d0c0a1 --- /dev/null +++ b/pkgs/fab-agon-emulator/default.nix @@ -0,0 +1,40 @@ +{ + stdenv, + lib, + fetchurl, +}: +stdenv.mkDerivation rec { + pname = "fab-agon-emulator"; + version = "0.9.77"; + + dontBuild = true; + + meta = with lib; { + description = "An emulator of the Agon Light, Agon Light 2, and Agon Console8 8-bit computers."; + homepage = "https://github.com/tomm/fab-agon-emulator"; + license = licenses.gpl3; + platforms = platforms.linux; + sourceProvenance = with sourceTypes; [binaryNativeCode]; + }; + + src = fetchurl { + url = "https://github.com/tomm/fab-agon-emulator/releases/download/0.9.77/fab-agon-emulator-v0.9.77-linux-x86_64.tar.bz2"; + sha256 = "sha256-+Ua3uT7AiCyV5TOyVzepQnh9m0TfT9uBXUxUHn1RG+s="; + }; + + # unpackPhase = '' + # tar xf $src + # ''; + + installPhase = '' + runHook preInstall + + mkdir -p $out/bin + cp fab-agon-emulator $out/bin + cp agon-cli-emulator $out/bin + cp -r firmware $out + cp -r sdcard $out + + runHook postInstall + ''; +} diff --git a/pkgs/pop/default.nix b/pkgs/pop/default.nix new file mode 100644 index 0000000..ed5b282 --- /dev/null +++ b/pkgs/pop/default.nix @@ -0,0 +1,80 @@ +{ + fetchurl, + makeWrapper, + dpkg, + stdenv, + lib, + pkgs, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "pop"; + version = "8.0.21"; + + # dontBuild = true; + # dontConfigure = true; + dontStrip = true; + + meta = with lib; { + description = "Pop - Screen sharing for remote teams"; + homepage = "https://pop.com"; + sourceProvenance = with sourceTypes; [binaryNativeCode]; + license = licenses.unfree; + platforms = platforms.linux; + mainProgram = "pop"; + }; + + src = fetchurl { + url = "https://download.pop.com/desktop-app/linux/8.0.21/pop_8.0.21_amd64.deb"; + sha256 = "1n9h1vn3scvpwv0vmkpygi6rqznzs0vj6y6hyzh12qgv67zwm75v"; + }; + nativeBuildInputs = [dpkg makeWrapper]; + + buildInputs = with pkgs; + [ + alsa-lib + atk + cairo + cups + dbus + expat + gdk-pixbuf + glib + gtk3 + ffmpeg + libdrm + libxkbcommon + mesa + nspr + nss + pango + ] + ++ (with pkgs.xorg; [ + libX11 + libXcomposite + libXdamage + libXext + libXfixes + libXtst + libXrandr + libxcb + libxshmfence + ]); + + # ${dpkg}/bin/dpkg -x $src $out + unpackPhase = '' + dpkg --fsys-tarfile $src | tar --extract + ''; + + installPhase = '' + runHook preInstall + + mkdir -p $out + mv usr/* $out + + wrapProgram $out/lib/pop/Pop \ + --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath finalAttrs.buildInputs}" \ + + + runHook postInstall + ''; +}) |