Git Product home page Git Product logo

futureproof's Introduction

About

Futureproof is a live editor for GPU shaders, built on Zig, Neovim, and WebGPU.

Seascape

Project homepage

Building

macOS (x86)

Install freetype and glfw3 through Homebrew:

brew install freetype glfw3

Get vendored dependencies:

cd futureproof/vendor
make wgpu shaderc

Build using Zig, using a recent nightly build (0.7.1, after 2020-12-31)

cd futureproof
zig build run

(You may need env ZIG_SYSTEM_LINKER_HACK=1, depending on Zig compiler version)

Other OS

Good luck - open a PR if you get things working!

Project status

Project done Project unmaintained

This project is done, and I don't plan to maintain it in the future.

It is only claimed to work on my laptop, and even then, will probably break if the Zig compiler version changes.

I'm unlikely to fix any issues, although I will optimistically merge small-to-medium PRs that fix bugs or add support for more platforms.

If you'd like to add major features, please fork the project; I'd be happy to link to any forks which achieve critical momentum!

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

futureproof's People

Contributors

mkeeter avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

futureproof's Issues

Building on Arch Linux

Hi,

I'm trying to package futureproof for Arch Linux.

When I run make wgpu shaderc I get the following error:

cd wgpu && install_name_tool -id "@executable_path/../../vendor/wgpu/libwgpu_native.dylib" libwgpu_native.dylib
/bin/sh: line 1: install_name_tool: command not found

I'm testing with this PKGBUILD file:

pkgname=futureproof-git
pkgver=283.110948f
pkgrel=1
pkgdesc='Terminal emulator'
arch=(x86_64)
url='https://mattkeeter.com/projects/futureproof'
license=(MIT) # or Apache
conflicts=(futureproof)
depends=(freetype2 glfw)
makedepends=(git zig)
source=('git+https://github.com/mkeeter/futureproof')
sha256sums=(SKIP)

pkgver() {
  cd futureproof
  printf "%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
}

prepare() {
  cd futureproof/vendor
  make wgpu shaderc
}

build() {
  cd futureproof
  ZIG_SYSTEM_LINKER_HACK=1 zig build
}

package() {
  install -Dm755 futureproof/futureproof "$pkgdir/usr/bin/futureproof"
}

Could not build the application

hi, very interesting project!
I followed the build instructions and tried to build the application, but I get the following error.
I am new to zig and could not solve this error. If you have time, could you please advise me on how to solve this problem?

bash-3.2$ zig build run
./src/blocking_queue.zig:15:32: error: expected 0 argument(s), found 1
            std.ResetEvent.init(&event) catch |err| {
                               ^
/Users/akiyosi/Downloads/zig-macos-x86_64-0.7.0/lib/zig/std/reset_event.zig:29:9: note: declared here
    pub fn init() ResetEvent {
        ^
futureproof...The following command exited with error code 1:
/Users/akiyosi/Downloads/zig-macos-x86_64-0.7.0/zig build-exe /Users/akiyosi/futureproof/src/main.zig --library glfw --library freetype --library stdc++ --library wgpu_native --library sha
derc_combined --cache-dir /Users/akiyosi/futureproof/zig-cache --name futureproof -I /usr/local/Cellar/glfw/3.3.2/include -I /usr/local/opt/freetype/include/freetype2 -I /Users/akiyosi/fut
ureproof/vendor -I /Users/akiyosi/futureproof/vendor/shaderc/include -I /Users/akiyosi/futureproof -L /usr/local/Cellar/glfw/3.3.2/lib -L /usr/local/opt/freetype/lib -L vendor/wgpu -L vend
or/shaderc/lib -F /System/Library/Frameworks -framework Foundation -framework AppKit --enable-cache
error: the following build command failed with exit code 1:
/Users/akiyosi/futureproof/zig-cache/o/5ce898e9c91dbc52a759335f9ec80685/build /Users/akiyosi/Downloads/zig-macos-x86_64-0.7.0/zig /Users/akiyosi/futureproof /Users/akiyosi/futureproof/zig-

I have tried the following versions of zig, and the results are the same.

  • 0.7.1
  • 0.7.0+9af53f8e0

My environment is macOS 10.14.6

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.