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
Organizing ssh servers in one shell.

NeZha (哪吒) NeZha is a famous chinese deity who can have three heads and six arms if he wants. And my NeZha tool is hoping to bring developer such mult

Zilin Zhu 8 Dec 20, 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
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
Cobbler is a versatile Linux deployment server

Cobbler Cobbler is a Linux installation server that allows for rapid setup of network installation environments. It glues together and automates many

Cobbler 2.4k Dec 24, 2022
Azure plugins for Feast (FEAture STore)

Feast on Azure This project provides resources to enable running a feast feature store on Azure. Feast Azure Provider The Feast Azure provider acts li

Microsoft Azure 70 Dec 31, 2022
A system for managing CI data for Mozilla projects

Treeherder Description Treeherder is a reporting dashboard for Mozilla checkins. It allows users to see the results of automatic builds and their resp

Mozilla 235 Dec 22, 2022
Ansible Collection: A collection of Ansible Modules and Lookup Plugins (MLP) from Linuxfabrik.

ansible_mlp An Ansible collection of Ansible Modules and Lookup Plugins (MLP) from Linuxfabrik. Ansible Bitwarden Item Lookup Plugin Returns a passwor

Linuxfabrik 2 Feb 07, 2022
Project 4 Cloud DevOps Nanodegree

Project Overview In this project, you will apply the skills you have acquired in this course to operationalize a Machine Learning Microservice API. Yo

1 Nov 21, 2021
Rundeck / Grafana / Prometheus / Rundeck Exporter integration demo

Rundeck / Prometheus / Grafana integration demo via Rundeck Exporter This is a demo environment that shows how to monitor a Rundeck instance using Run

Reiner 4 Oct 14, 2022
Learning and experimenting with Kubernetes

Kubernetes Experiments This repository contains code that I'm using to learn and experiment with Kubernetes. 1. Environment setup minikube kubectl doc

Richard To 10 Dec 02, 2022
A tool to convert AWS EC2 instances back and forth between On-Demand and Spot billing models.

ec2-spot-converter This tool converts existing AWS EC2 instances back and forth between On-Demand and 'persistent' Spot billing models while preservin

jcjorel 152 Dec 29, 2022
Create pinned requirements.txt inside a Docker image using pip-tools

Pin your Python dependencies! pin-requirements.py is a script that lets you pin your Python dependencies inside a Docker container. Pinning your depen

4 Aug 18, 2022
Tiny Git is a simplified version of Git with only the basic functionalities to gain better understanding of git internals.

Tiny Git is a simplified version of Git with only the basic functionalities to gain better understanding of git internals. Implemented Functi

Ahmed Ayman 2 Oct 15, 2021
A Python library for the Docker Engine API

Docker SDK for Python A Python library for the Docker Engine API. It lets you do anything the docker command does, but from within Python apps – run c

Docker 6.1k Dec 31, 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
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
ZeroMQ bindings for Twisted

Twisted bindings for 0MQ Introduction txZMQ allows to integrate easily ØMQ sockets into Twisted event loop (reactor). txZMQ supports both CPython and

Andrey Smirnov 149 Dec 08, 2022
Utilitaire de contrôle de Kubernetes

Utilitaire de contrôle de Kubernetes ** What is this ??? ** Every time we use a word in English our manager tells us to use the French translation of

Théophane Vié 9 Dec 03, 2022
Google Kubernetes Engine (GKE) with a Snyk Kubernetes controller installed/configured for Snyk App

Google Kubernetes Engine (GKE) with a Snyk Kubernetes controller installed/configured for Snyk App This example provisions a Google Kubernetes Engine

Pas Apicella 2 Feb 09, 2022
Changelog CI is a GitHub Action that enables a project to automatically generate changelogs

What is Changelog CI? Changelog CI is a GitHub Action that enables a project to automatically generate changelogs. Changelog CI can be triggered on pu

Maksudul Haque 106 Dec 25, 2022