Mac Build Fixes
+ Add "smoke test" build CI to Github Actions + Added a configure_mac script (requires brew) ~ caddr_t -> void* (was never a part of any UNIX standard)
This commit is contained in:
parent
98cd88f12c
commit
9bf3d76260
|
|
@ -4,22 +4,15 @@ name: CI
|
||||||
|
|
||||||
# Controls when the workflow will run
|
# Controls when the workflow will run
|
||||||
on:
|
on:
|
||||||
# Triggers the workflow on push or pull request events but only for the master branch
|
|
||||||
push:
|
push:
|
||||||
branches: [ master ]
|
|
||||||
pull_request:
|
pull_request:
|
||||||
branches: [ master ]
|
|
||||||
|
|
||||||
# Allows you to run this workflow manually from the Actions tab
|
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
|
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
|
||||||
jobs:
|
jobs:
|
||||||
# This workflow contains a single job called "build"
|
vezzal:
|
||||||
build:
|
|
||||||
# The type of runner that the job will run on
|
# The type of runner that the job will run on
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
# Steps represent a sequence of tasks that will be executed as part of the job
|
# Steps represent a sequence of tasks that will be executed as part of the job
|
||||||
steps:
|
steps:
|
||||||
- name: Pulling the docker image
|
- name: Pulling the docker image
|
||||||
|
|
@ -30,3 +23,29 @@ jobs:
|
||||||
|
|
||||||
- name: Run the testing on the container and send the mail
|
- name: Run the testing on the container and send the mail
|
||||||
run: docker exec test_magic /vezzal/test_magic.sh "lankasaicharan123@gmail.com,tim@opencircuitdesign.com" ${{secrets.MAILING_KEY}}
|
run: docker exec test_magic /vezzal/test_magic.sh "lankasaicharan123@gmail.com,tim@opencircuitdesign.com" ${{secrets.MAILING_KEY}}
|
||||||
|
simple_build_linux:
|
||||||
|
runs-on: ubuntu-20.04
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- name: Get Dependencies
|
||||||
|
run: |
|
||||||
|
sudo apt-get install -y tcl-dev tk-dev libcairo-dev csh
|
||||||
|
- name: Build
|
||||||
|
run: |
|
||||||
|
./configure
|
||||||
|
make database/database.h
|
||||||
|
make -j$(nproc)
|
||||||
|
simple_build_mac:
|
||||||
|
runs-on: macos-11
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- name: Get Dependencies
|
||||||
|
run: |
|
||||||
|
brew install --cask xquartz
|
||||||
|
brew install cairo tcl-tk tcsh
|
||||||
|
- name: Build
|
||||||
|
run: |
|
||||||
|
export PATH="/opt/X11/bin:$PATH"
|
||||||
|
./scripts/configure_mac
|
||||||
|
make database/database.h
|
||||||
|
make -j$(sysctl -n hw.ncpu)
|
||||||
|
|
@ -1,7 +1,20 @@
|
||||||
# In order to install magic on MacOS (Big Sur) follow these steps:
|
# Installing Magic on macOS (Tested on Big Sur)
|
||||||
|
## With Brew
|
||||||
|
Get [Homebrew](https://brew.sh).
|
||||||
|
|
||||||
|
```sh
|
||||||
|
brew install cairo tcl-tk tcsh
|
||||||
|
brew install --cask xquartz
|
||||||
|
./scripts/configure_mac
|
||||||
|
make database/database.h
|
||||||
|
make -j$(sysctl -n hw.ncpu)
|
||||||
|
make install # may need sudo depending on your setup
|
||||||
|
```
|
||||||
|
|
||||||
## Build Tcl for X11
|
## Without Brew
|
||||||
|
Get [XQuartz](https://github.com/XQuartz/XQuartz)
|
||||||
|
|
||||||
|
### Build Tcl for X11
|
||||||
|
|
||||||
We are following the instructions from xschem (https://github.com/StefanSchippers/xschem/blob/master/README_MacOS.md).
|
We are following the instructions from xschem (https://github.com/StefanSchippers/xschem/blob/master/README_MacOS.md).
|
||||||
|
|
||||||
|
|
@ -15,7 +28,7 @@ make
|
||||||
make install
|
make install
|
||||||
```
|
```
|
||||||
|
|
||||||
## Build Tk for X11
|
### Build Tk for X11
|
||||||
|
|
||||||
* Download Tk from https://prdownloads.sourceforge.net/tcl/tk8.6.10-src.tar.gz
|
* Download Tk from https://prdownloads.sourceforge.net/tcl/tk8.6.10-src.tar.gz
|
||||||
|
|
||||||
|
|
@ -27,7 +40,7 @@ make
|
||||||
make install
|
make install
|
||||||
```
|
```
|
||||||
|
|
||||||
## Build magic
|
### Build magic
|
||||||
|
|
||||||
We need to provide this `tcl-tk` and suppress compilation errors.
|
We need to provide this `tcl-tk` and suppress compilation errors.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
#!/bin/sh
|
||||||
|
set -x
|
||||||
|
./configure\
|
||||||
|
--with-tcl=$(brew --prefix tcl-tk)\
|
||||||
|
--with-tk=$(brew --prefix tcl-tk)\
|
||||||
|
--with-cairo=$(brew --prefix cairo)/include\
|
||||||
|
"CFLAGS=-Wno-error=implicit-function-declaration"\
|
||||||
|
"LDFLAGS=-L$(brew --prefix cairo)/lib"
|
||||||
|
|
@ -956,8 +956,8 @@ TxDispatch(f)
|
||||||
void
|
void
|
||||||
TxParseString(str, q, event)
|
TxParseString(str, q, event)
|
||||||
char *str;
|
char *str;
|
||||||
caddr_t q; /* unused */
|
void* q; /* unused */
|
||||||
caddr_t event; /* always NULL (ignored) */
|
void* event; /* always NULL (ignored) */
|
||||||
{
|
{
|
||||||
char *reply;
|
char *reply;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue