CI repo for building Skia as a shared library

Related tags

DevOps ToolsSkiaBuild
Overview

Automated Skia builds

This repo is dedicated to building Skia binaries for use in Skija.

Prebuilt binaries

Prebuilt binaries can be found in releases.

Building next version of Skia

Update version in .github/workflows/build.yml.

Building locally

python3 script/checkout.py --version m91-b99622c05a
python3 script/build.py
python3 script/archive.py

To build a debug build:

python3 script/checkout.py --version m91-b99622c05a
python3 script/build.py --build-type Debug
python3 script/archive.py --build-type Debug
You might also like...
A repo for working with and building daos

DAO Mix DAO Mix About How to DAO No Code Tools Getting Started Prerequisites Installation Usage On-Chain Governance Example Off-Chain governance Examp

A simple shared budget manager web application

I hate money I hate money is a web application made to ease shared budget management. It keeps track of who bought what, when, and for whom; and helps

A PyTorch implementation of paper
A PyTorch implementation of paper "Learning Shared Semantic Space for Speech-to-Text Translation", ACL (Findings) 2021

Chimera: Learning Shared Semantic Space for Speech-to-Text Translation This is a Pytorch implementation for the "Chimera" paper Learning Shared Semant

IMGUR5K handwriting set. It is a handwritten in-the-wild dataset, which contains challenging real world handwritten samples from different writers.The dataset is shared as a set of image urls with annotations. This code downloads the images and verifies the hash to the image to avoid data contamination.  Shared Attention for Multi-label Zero-shot Learning
Shared Attention for Multi-label Zero-shot Learning

Shared Attention for Multi-label Zero-shot Learning Overview This repository contains the implementation of Shared Attention for Multi-label Zero-shot

Shared code for training sentence embeddings with Flax / JAX

flax-sentence-embeddings This repository will be used to share code for the Flax / JAX community event to train sentence embeddings on 1B+ training pa

Perfect implement. Model shared. x0.5 (Top1:60.646) and 1.0x (Top1:69.402).

Shufflenet-v2-Pytorch Introduction This is a Pytorch implementation of faceplusplus's ShuffleNet-v2. For details, please read the following papers:

This repository will (hopefully) always contain the latest version of the libProfessorP.asm.so shared object.

libPuhfessorP - Deploy Repo This repo should (hopefully) always contain the latest version of the libPuhfessorP.asm.so shared object, to be linked wit

A PyTorch implementation of paper
A PyTorch implementation of paper "Learning Shared Semantic Space for Speech-to-Text Translation", ACL (Findings) 2021

Chimera: Learning Shared Semantic Space for Speech-to-Text Translation This is a Pytorch implementation for the "Chimera" paper Learning Shared Semant

The implementation of the paper
The implementation of the paper "HIST: A Graph-based Framework for Stock Trend Forecasting via Mining Concept-Oriented Shared Information".

The HIST framework for stock trend forecasting The implementation of the paper "HIST: A Graph-based Framework for Stock Trend Forecasting via Mining C

Can a machine learning project be implemented to estimate the salaries of baseball players whose salary information and career statistics for 1986 are shared?

END TO END MACHINE LEARNING PROJECT ON HITTERS DATASET Can a machine learning project be implemented to estimate the salaries of baseball players whos

SongFinder Bot helps you to find song name by recognising via voice note or instagram reels shared link.

SongFinder V1.1 SongFinder to detect songs name by just sending voice note or instagram reels links to your telegram bot. FFMPEG must be installed on

Source code for CsiNet and CRNet using Fully Connected Layer-Shared feedback architecture.

FCS-applications Source code for CsiNet and CRNet using the Fully Connected Layer-Shared feedback architecture. Introduction This repository contains

Shared utility scripts for AI for Earth projects and team members

Overview Shared utilities developed by the Microsoft AI for Earth team The general convention in this repo is that users who want to consume these uti

A small site to list shared directories
A small site to list shared directories

Nebula Server Directories This site can be used to list folder and subdirectories in your server : Python It's required to have Python 3.8 or more ins

Implements a polyglot REPL which supports multiple languages and shared meta-object protocol scope between REPLs.
Implements a polyglot REPL which supports multiple languages and shared meta-object protocol scope between REPLs.

MetaCall Polyglot REPL Description This repository implements a Polyglot REPL which shares the state of the meta-object protocol between the REPLs. Us

GPU implementation of $k$-Nearest Neighbors and Shared-Nearest Neighbors

GPU implementation of kNN and SNN GPU implementation of $k$-Nearest Neighbors and Shared-Nearest Neighbors Supported by numba cuda and faiss library E

Scripts to convert the Ted-MDB corpora into the formats for DISRPT shared task and the converted corpora

Scripts to convert the Ted-MDB corpora into the formats for DISRPT shared task and the converted corpora.

Official codebase for ICLR oral paper Unsupervised Vision-Language Grammar Induction with Shared Structure Modeling

CLIORA This is the official codebase for ICLR oral paper: Unsupervised Vision-Language Grammar Induction with Shared Structure Modeling. We introduce

Comments
  • required source headers does not exist in zip

    required source headers does not exist in zip

    unfortunately there are still more header files not present in the zip

    /Users/smallville7123/StudioProjects/Astrid/app/src/main/cpp/SkiaApp/ViewSystem/SkiaBuild/Skia-m100-d5a507cafd-macos-Release-x64/src/gpu/GrShaderCaps.h:12:10: fatal error: 'src/gpu/glsl/GrGLSL.h' file not found #include "src/gpu/glsl/GrGLSL.h"

    Matthews-MacBook-Pro:SkiaApp smallville7123$ find . -name GrGLSL.h
    ./ViewSystem/SkiaBuild/skia/src/gpu/glsl/GrGLSL.h
    Matthews-MacBook-Pro:SkiaApp smallville7123$
    

    this is my CMake

    cmake_minimum_required(VERSION 3.10.2)
    project(SkiaBuild)
    
    set(CMAKE_CXX_STANDARD 17)
    set(CMAKE_CXX_STANDARD_REQUIRED ON)
    set(CMAKE_CXX_EXTENSIONS OFF)
    
    add_library(SkiaBuild SHARED empty.cpp)
    add_library(SkiaBuild_Debug SHARED empty.cpp)
    
    target_compile_definitions(SkiaBuild PUBLIC SK_GL=1 SK_RELEASE=1)
    target_compile_definitions(SkiaBuild_Debug PUBLIC SK_GL=1 SK_DEBUG=1)
    
    set(SKIA_OUT Shared)
    set(SKIA_OUT_DEBUG Shared_Debug)
    
    set(SKIA_DIR        skia) #Skia-m100-d5a507cafd-macos-${SKIA_OUT})
    set(SKIA_DIR_DEBUG  skia) #Skia-m100-d5a507cafd-macos-${SKIA_OUT_DEBUG})
    
    target_include_directories(SkiaBuild PUBLIC
        ${SKIA_DIR}
        ${SKIA_DIR}/include/android
        ${SKIA_DIR}/include/c
        ${SKIA_DIR}/include/codec
        ${SKIA_DIR}/include/config
        ${SKIA_DIR}/include/core
        ${SKIA_DIR}/include/docs
        ${SKIA_DIR}/include/effects
        ${SKIA_DIR}/include/encode
        ${SKIA_DIR}/include/gpu
        ${SKIA_DIR}/include/pathops
        ${SKIA_DIR}/include/ports
        ${SKIA_DIR}/include/private
        ${SKIA_DIR}/include/sksl
        ${SKIA_DIR}/include/svg
        ${SKIA_DIR}/include/third_party/skcms
        ${SKIA_DIR}/include/third_party/vulkan
        ${SKIA_DIR}/include/utils
        ${SKIA_DIR}/src/core
        ${SKIA_DIR}/src/c
        ${SKIA_DIR}/src/codec
        ${SKIA_DIR}/src/core
        ${SKIA_DIR}/src/effects
        ${SKIA_DIR}/src/gpu
        ${SKIA_DIR}/src/image
        ${SKIA_DIR}/src/images
        ${SKIA_DIR}/src/lazy
        ${SKIA_DIR}/src/opts
        ${SKIA_DIR}/src/pathops
        ${SKIA_DIR}/src/pdf
        ${SKIA_DIR}/src/ports
        ${SKIA_DIR}/src/sfnt
        ${SKIA_DIR}/src/shaders
        ${SKIA_DIR}/src/sksl
        ${SKIA_DIR}/src/svg
        ${SKIA_DIR}/src/utils
        ${SKIA_DIR}/src/xml
        ${SKIA_DIR}/src/xps
    )
    
    target_include_directories(SkiaBuild_Debug PUBLIC
        ${SKIA_DIR_DEBUG}
        ${SKIA_DIR_DEBUG}/include/android
        ${SKIA_DIR_DEBUG}/include/c
        ${SKIA_DIR_DEBUG}/include/codec
        ${SKIA_DIR_DEBUG}/include/config
        ${SKIA_DIR_DEBUG}/include/core
        ${SKIA_DIR_DEBUG}/include/docs
        ${SKIA_DIR_DEBUG}/include/effects
        ${SKIA_DIR_DEBUG}/include/encode
        ${SKIA_DIR_DEBUG}/include/gpu
        ${SKIA_DIR_DEBUG}/include/pathops
        ${SKIA_DIR_DEBUG}/include/ports
        ${SKIA_DIR_DEBUG}/include/private
        ${SKIA_DIR_DEBUG}/include/sksl
        ${SKIA_DIR_DEBUG}/include/svg
        ${SKIA_DIR_DEBUG}/include/third_party/skcms
        ${SKIA_DIR_DEBUG}/include/third_party/vulkan
        ${SKIA_DIR_DEBUG}/include/utils
        ${SKIA_DIR_DEBUG}/src/core
        ${SKIA_DIR_DEBUG}/src/c
        ${SKIA_DIR_DEBUG}/src/codec
        ${SKIA_DIR_DEBUG}/src/core
        ${SKIA_DIR_DEBUG}/src/effects
        ${SKIA_DIR_DEBUG}/src/gpu
        ${SKIA_DIR_DEBUG}/src/image
        ${SKIA_DIR_DEBUG}/src/images
        ${SKIA_DIR_DEBUG}/src/lazy
        ${SKIA_DIR_DEBUG}/src/opts
        ${SKIA_DIR_DEBUG}/src/pathops
        ${SKIA_DIR_DEBUG}/src/pdf
        ${SKIA_DIR_DEBUG}/src/ports
        ${SKIA_DIR_DEBUG}/src/sfnt
        ${SKIA_DIR_DEBUG}/src/shaders
        ${SKIA_DIR_DEBUG}/src/sksl
        ${SKIA_DIR_DEBUG}/src/svg
        ${SKIA_DIR_DEBUG}/src/utils
        ${SKIA_DIR_DEBUG}/src/xml
        ${SKIA_DIR_DEBUG}/src/xps
    )
    
    if (CMAKE_CXX_COMPILER_ID MATCHES "Clang" OR
            CMAKE_CXX_COMPILER_ID MATCHES "GNU")
        if(APPLE)
            set(WHOLE_ARCHIVE_FLAG "-Wl,-all_load" CACHE INTERNAL "all_load flag")
            set(NO_WHOLE_ARCHIVE_FLAG "-Wl,-noall_load" CACHE INTERNAL "noall_load flag")
        else()
            set(WHOLE_ARCHIVE_FLAG "-Wl,--whole-archive" CACHE INTERNAL "whole-archive flag")
            set(NO_WHOLE_ARCHIVE_FLAG "-Wl,--no-whole-archive" CACHE INTERNAL "no-whole-archive flag")
        endif()
    else()
        set(WHOLE_ARCHIVE_FLAG "")
        set(NO_WHOLE_ARCHIVE_FLAG "")
    endif()
    
    # we cannot link to static libs such as icu, skresources, dng_sdk, pathkit, ect
    # attempting to do so brings undefined references
    
    #file(GLOB SKIA_LIBS_STATIC ${CMAKE_CURRENT_SOURCE_DIR}/${SKIA_DIR}/out/${SKIA_OUT}/*.a)
    file(GLOB SKIA_WEBP_LIBS_STATIC ${CMAKE_CURRENT_SOURCE_DIR}/${SKIA_DIR}/out/${SKIA_OUT}/libwebp*.a)
    file(GLOB SKIA_LIBS_SHARED ${CMAKE_CURRENT_SOURCE_DIR}/${SKIA_DIR}/out/${SKIA_OUT}/*.so)
    
    target_link_libraries(
            SkiaBuild
            OpenGL_Library
            ${SKIA_LIBS_SHARED}
    
            ${WHOLE_ARCHIVE_FLAG}
            ${SKIA_LIBS_STATIC}
    
            # link to what we can
            ${CMAKE_CURRENT_SOURCE_DIR}/${SKIA_DIR}/out/${SKIA_OUT}/libexpat.a
            ${CMAKE_CURRENT_SOURCE_DIR}/${SKIA_DIR}/out/${SKIA_OUT}/libharfbuzz.a
            ${CMAKE_CURRENT_SOURCE_DIR}/${SKIA_DIR}/out/${SKIA_OUT}/libjpeg.a
            ${CMAKE_CURRENT_SOURCE_DIR}/${SKIA_DIR}/out/${SKIA_OUT}/libpiex.a
            ${SKIA_WEBP_LIBS_STATIC}
    
            ${NO_WHOLE_ARCHIVE_FLAG}
    )
    
    #file(GLOB SKIA_LIBS_STATIC_DEBUG ${CMAKE_CURRENT_SOURCE_DIR}/${SKIA_DIR_DEBUG}/out/${SKIA_OUT_DEBUG}/*.a)
    file(GLOB SKIA_WEBP_LIBS_STATIC_DEBUG ${CMAKE_CURRENT_SOURCE_DIR}/${SKIA_DIR_DEBUG}/out/${SKIA_OUT_DEBUG}/libwebp*.a)
    file(GLOB SKIA_LIBS_SHARED_DEBUG ${CMAKE_CURRENT_SOURCE_DIR}/${SKIA_DIR_DEBUG}/out/${SKIA_OUT_DEBUG}/*.so)
    
    target_link_libraries(
            SkiaBuild_Debug
            OpenGL_Library
            ${SKIA_LIBS_SHARED_DEBUG}
    
            ${WHOLE_ARCHIVE_FLAG}
            ${SKIA_LIBS_STATIC_DEBUG}
    
            # link to what we can
            ${CMAKE_CURRENT_SOURCE_DIR}/${SKIA_DIR_DEBUG}/out/${SKIA_OUT_DEBUG}/libexpat.a
            ${CMAKE_CURRENT_SOURCE_DIR}/${SKIA_DIR_DEBUG}/out/${SKIA_OUT_DEBUG}/libharfbuzz.a
            ${CMAKE_CURRENT_SOURCE_DIR}/${SKIA_DIR_DEBUG}/out/${SKIA_OUT_DEBUG}/libjpeg.a
            ${CMAKE_CURRENT_SOURCE_DIR}/${SKIA_DIR_DEBUG}/out/${SKIA_OUT_DEBUG}/libpiex.a
            ${SKIA_WEBP_LIBS_STATIC_DEBUG}
    
            ${NO_WHOLE_ARCHIVE_FLAG}
    )
    
    
    opened by mgood7123 7
  • [fork] on windows (Release)

    [fork] on windows (Release) "release.py" urllib.error.HTTPError: HTTP Error 401: Unauthorized

    I have created a fork in order to build a windows (Release) with direct3d disabled. Local build was unsuccessful, several errors, so I have forked SkiaBuild in order to run the same actions as original, with 'skia_use_direct3d=false' and go on to build a new skija dll from there. Trying to run current github actions, I get an authorization - permission error.

    "release.py" urllib.error.HTTPError: HTTP Error 401: Unauthorized Error: Process completed with exit code 1. ##[debug]Finishing: Run python3 script/release.py --version m109-664500fa93 --build-type Release

    Do we have any idea why?

    opened by istinnstudio 4
Releases(m109-664500fa93)
Owner
Humble UI
Humble UI
Oracle Cloud Infrastructure Object Storage fsspec implementation

Oracle Cloud Infrastructure Object Storage fsspec implementation The Oracle Cloud Infrastructure Object Storage service is an internet-scale, high-per

Oracle 9 Dec 18, 2022
RMRK spy bot for RMRK hackathon

rmrk_spy_bot RMRK spy bot https://t.me/RMRKspyBot for rmrk hacktoberfest https://rmrk.devpost.com/ Birds and items price and rarity estimation Reports

Victor Ryabinin 2 Sep 06, 2022
Dockerized iCloud drive

iCloud-drive-docker is a simple iCloud drive client in Docker environment. It uses pyiCloud python library to interact with iCloud

Mandar Patil 376 Jan 01, 2023
Coding For Entrepreneurs 100 Jan 01, 2023
This is a tool to develop, build and test PHP extensions in Docker containers.

Develop, Build and Test PHP Extensions This is a tool to develop, build and test PHP extensions in Docker containers. Installation Clone this reposito

Suora GmbH 10 Oct 22, 2022
sysctl/sysfs settings on a fly for Kubernetes Cluster. No restarts are required for clusters and nodes.

SysBindings Daemon Little toolkit for control the sysctl/sysfs bindings on Kubernetes Cluster on the fly and without unnecessary restarts of cluster o

Wallarm 19 May 06, 2022
A Simple script to hunt unused Kubernetes resources.

K8SPurger A Simple script to hunt unused Kubernetes resources. Release History Release 0.3 Added Ingress Added Services Account Adding RoleBindding Re

Yogesh Kunjir 202 Nov 19, 2022
Rancher Kubernetes API compatible with RKE, RKE2 and maybe others?

kctl Rancher Kubernetes API compatible with RKE, RKE2 and maybe others? Documentation is WIP. Quickstart pip install --upgrade kctl Usage from lazycls

1 Dec 02, 2021
framework providing automatic constructions of vulnerable infrastructures

中文 | English 1 Introduction Metarget = meta- + target, a framework providing automatic constructions of vulnerable infrastructures, used to deploy sim

rambolized 685 Dec 28, 2022
Build Netbox as a Docker container

netbox-docker The Github repository houses the components needed to build Netbox as a Docker container. Images are built using this code and are relea

Farshad Nick 1 Dec 18, 2021
Oncall is a calendar tool designed for scheduling and managing on-call shifts. It can be used as source of dynamic ownership info for paging systems like http://iris.claims.

Oncall See admin docs for information on how to run and manage Oncall. Development setup Prerequisites Debian/Ubuntu - sudo apt-get install libsasl2-d

LinkedIn 928 Dec 22, 2022
Wubes is like Qubes but for Windows.

Qubes containerization on Windows. The idea is to leverage the Windows Sandbox technology to spawn applications in isolation.

NCC Group Plc 124 Dec 16, 2022
docker-compose工程部署时的辅助脚本

okta-cmd Introduction docker-compose 辅助脚本

完美风暴666 4 Dec 09, 2021
HXVM - Check Host compatibility with the Virtual Machines

HXVM - Check Host compatibility with the Virtual Machines. Features | Installation | Usage Features Takes input from user to compare how many VMs they

Aman Srivastava 4 Oct 15, 2022
Ganeti is a virtual machine cluster management tool built on top of existing virtualization technologies such as Xen or KVM and other open source software.

Ganeti 3.0 =========== For installation instructions, read the INSTALL and the doc/install.rst files. For a brief introduction, read the ganeti(7) m

395 Jan 04, 2023
Asynchronous parallel SSH client library.

parallel-ssh Asynchronous parallel SSH client library. Run SSH commands over many - hundreds/hundreds of thousands - number of servers asynchronously

1.1k Dec 31, 2022
strava-offline is a tool to keep a local mirror of Strava activities for further analysis/processing:

strava-offline Overview strava-offline is a tool to keep a local mirror of Strava activities for further analysis/processing: synchronizes metadata ab

Tomáš Janoušek 29 Dec 14, 2022
Honcho: a python clone of Foreman. For managing Procfile-based applications.

___ ___ ___ ___ ___ ___ /\__\ /\ \ /\__\ /\ \ /\__\ /\

Nick Stenning 1.5k Jan 03, 2023
Tools and Docker images to make a fast Ruby on Rails development environment

Tools and Docker images to make a fast Ruby on Rails development environment. With the production templates, moving from development to production will be seamless.

1 Nov 13, 2022