-
Notifications
You must be signed in to change notification settings - Fork 20
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'master' into implement_bindings
- Loading branch information
Showing
16 changed files
with
312 additions
and
38 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,99 @@ | ||
#! /usr/bin/env sh | ||
|
||
set -ex | ||
|
||
install_gnustep_make() { | ||
echo "::group::GNUstep Make" | ||
cd $DEPS_PATH | ||
git clone -q -b ${TOOLS_MAKE_BRANCH:-master} https://github.com/gnustep/tools-make.git | ||
cd tools-make | ||
MAKE_OPTS= | ||
if [ -n "$HOST" ]; then | ||
MAKE_OPTS="$MAKE_OPTS --host=$HOST" | ||
fi | ||
if [ -n "$RUNTIME_VERSION" ]; then | ||
MAKE_OPTS="$MAKE_OPTS --with-runtime-abi=$RUNTIME_VERSION" | ||
fi | ||
./configure --prefix=$INSTALL_PATH --with-library-combo=$LIBRARY_COMBO $MAKE_OPTS || cat config.log | ||
make install | ||
|
||
echo Objective-C build flags: | ||
$INSTALL_PATH/bin/gnustep-config --objc-flags | ||
echo "::endgroup::" | ||
} | ||
|
||
install_libobjc2() { | ||
echo "::group::libobjc2" | ||
cd $DEPS_PATH | ||
git clone -q https://github.com/gnustep/libobjc2.git | ||
cd libobjc2 | ||
git submodule sync | ||
git submodule update --init | ||
mkdir build | ||
cd build | ||
cmake \ | ||
-DTESTS=off \ | ||
-DCMAKE_BUILD_TYPE=RelWithDebInfo \ | ||
-DGNUSTEP_INSTALL_TYPE=NONE \ | ||
-DCMAKE_INSTALL_PREFIX:PATH=$INSTALL_PATH \ | ||
../ | ||
make install | ||
echo "::endgroup::" | ||
} | ||
|
||
install_libdispatch() { | ||
echo "::group::libdispatch" | ||
cd $DEPS_PATH | ||
# will reference upstream after https://github.com/apple/swift-corelibs-libdispatch/pull/534 is merged | ||
git clone -q -b system-blocksruntime https://github.com/ngrewe/swift-corelibs-libdispatch.git libdispatch | ||
mkdir libdispatch/build | ||
cd libdispatch/build | ||
# -Wno-error=void-pointer-to-int-cast to work around build error in queue.c due to -Werror | ||
cmake \ | ||
-DBUILD_TESTING=off \ | ||
-DCMAKE_BUILD_TYPE=RelWithDebInfo \ | ||
-DCMAKE_INSTALL_PREFIX:PATH=$INSTALL_PATH \ | ||
-DCMAKE_C_FLAGS="-Wno-error=void-pointer-to-int-cast" \ | ||
-DINSTALL_PRIVATE_HEADERS=1 \ | ||
-DBlocksRuntime_INCLUDE_DIR=$INSTALL_PATH/include \ | ||
-DBlocksRuntime_LIBRARIES=$INSTALL_PATH/lib/libobjc.so \ | ||
../ | ||
make install | ||
echo "::endgroup::" | ||
} | ||
|
||
install_gnustep_gui() { | ||
echo "::group::GNUstep GUI" | ||
cd $DEPS_PATH | ||
. $INSTALL_PATH/share/GNUstep/Makefiles/GNUstep.sh | ||
git clone -q -b ${LIBS_GUI_BRANCH:-master} https://github.com/gnustep/libs-gui.git | ||
cd libs-gui | ||
./configure | ||
make | ||
make install | ||
echo "::endgroup::" | ||
} | ||
|
||
install_gnustep_base() { | ||
echo "::group::GNUstep Base" | ||
cd $DEPS_PATH | ||
. $INSTALL_PATH/share/GNUstep/Makefiles/GNUstep.sh | ||
git clone -q -b ${LIBS_BASE_BRANCH:-master} https://github.com/gnustep/libs-base.git | ||
cd libs-base | ||
./configure | ||
make | ||
make install | ||
echo "::endgroup::" | ||
} | ||
|
||
mkdir -p $DEPS_PATH | ||
|
||
# Windows MSVC toolchain uses tools-windows-msvc scripts to install non-GNUstep dependencies | ||
if [ "$LIBRARY_COMBO" = "ng-gnu-gnu" -a "$IS_WINDOWS_MSVC" != "true" ]; then | ||
install_libobjc2 | ||
install_libdispatch | ||
fi | ||
|
||
install_gnustep_make | ||
install_gnustep_base | ||
install_gnustep_gui |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,126 @@ | ||
name: CI | ||
|
||
on: | ||
push: | ||
pull_request: | ||
workflow_dispatch: | ||
inputs: | ||
tools_make_branch: | ||
description: "tools-make branch" | ||
default: "master" | ||
required: true | ||
libs_base_branch: | ||
description: "libs-base branch" | ||
default: "master" | ||
required: true | ||
libs_back_branch: | ||
description: "libs-back branch" | ||
default: "master" | ||
required: true | ||
|
||
env: | ||
APT_PACKAGES: >- | ||
pkg-config | ||
libgnutls28-dev | ||
libffi-dev | ||
libicu-dev | ||
libxml2-dev | ||
libxslt1-dev | ||
libssl-dev | ||
libavahi-client-dev | ||
zlib1g-dev | ||
gnutls-bin | ||
libcurl4-gnutls-dev | ||
libgmp-dev | ||
libcairo2-dev | ||
# packages for GCC Objective-C runtime | ||
APT_PACKAGES_gcc: >- | ||
libobjc-10-dev | ||
libblocksruntime-dev | ||
gobjc | ||
# packages for libobjc2 / libdispatch | ||
APT_PACKAGES_clang: >- | ||
libpthread-workqueue-dev | ||
jobs: | ||
########### Linux ########### | ||
linux: | ||
name: ${{ matrix.name }} | ||
runs-on: ubuntu-latest | ||
# don't run pull requests from local branches twice | ||
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.repository | ||
|
||
strategy: | ||
fail-fast: false | ||
matrix: | ||
include: | ||
- name: Ubuntu x64 GCC | ||
library-combo: gnu-gnu-gnu | ||
CC: gcc | ||
CXX: g++ | ||
|
||
- name: Ubuntu x64 Clang gnustep-1.9 | ||
library-combo: ng-gnu-gnu | ||
runtime-version: gnustep-1.9 | ||
CC: clang | ||
CXX: clang++ | ||
|
||
- name: Ubuntu x64 Clang gnustep-2.0 | ||
library-combo: ng-gnu-gnu | ||
runtime-version: gnustep-2.0 | ||
CC: clang | ||
CXX: clang++ | ||
|
||
env: | ||
SRC_PATH: ${{ github.workspace }}/source | ||
DEPS_PATH: ${{ github.workspace }}/dependencies | ||
INSTALL_PATH: ${{ github.workspace }}/build | ||
CC: ${{ matrix.CC }} | ||
CXX: ${{ matrix.CXX }} | ||
LIBRARY_COMBO: ${{ matrix.library-combo }} | ||
RUNTIME_VERSION: ${{ matrix.runtime-version }} | ||
|
||
defaults: | ||
run: | ||
working-directory: ${{ env.SRC_PATH }} | ||
|
||
steps: | ||
- uses: actions/checkout@v3 | ||
with: | ||
path: ${{ env.SRC_PATH }} | ||
|
||
- name: Install packages | ||
run: | | ||
sudo apt-get -q -y update | ||
sudo apt-get -q -y install $APT_PACKAGES $APT_PACKAGES_${{ matrix.library-combo == 'ng-gnu-gnu' && 'clang' || 'gcc' }} | ||
# gnustep-2.0 runtime requires ld.gold or lld | ||
if [ "$RUNTIME_VERSION" = "gnustep-2.0" ]; then | ||
sudo update-alternatives --install "/usr/bin/ld" "ld" "/usr/bin/ld.gold" 10 | ||
fi | ||
- name: Install dependencies | ||
env: | ||
TOOLS_MAKE_BRANCH: ${{github.event.inputs.tools_make_branch}} | ||
LIBS_BASE_BRANCH: ${{github.event.inputs.libs_base_branch}} | ||
LIBS_GUI_BRANCH: ${{github.event.inputs.libs_gui_branch}} | ||
run: ./.github/scripts/dependencies.sh | ||
|
||
- name: Build source for Gorm | ||
run: . $INSTALL_PATH/share/GNUstep/Makefiles/GNUstep.sh && make && make install | ||
|
||
- name: Run tests | ||
run: | | ||
. $INSTALL_PATH/share/GNUstep/Makefiles/GNUstep.sh | ||
make check | ||
- name: Upload logs | ||
uses: actions/upload-artifact@v3 | ||
if: always() | ||
with: | ||
name: Logs - ${{ matrix.name }} | ||
path: | | ||
${{ env.SRC_PATH }}/config.log | ||
${{ env.SRC_PATH }}/Tests/tests.log |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Binary file modified
BIN
+0 Bytes
(100%)
Applications/Gorm/Palettes/4Data/GormNSNumberFormatterInspector.gorm/data.info
Binary file not shown.
Binary file modified
BIN
+1.72 KB
(110%)
Applications/Gorm/Palettes/4Data/GormNSNumberFormatterInspector.gorm/objects.gorm
Binary file not shown.
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
File renamed without changes.
File renamed without changes.
Oops, something went wrong.