Skip to content

Instantly share code, notes, and snippets.

@Pinjontall94
Created February 28, 2026 16:29
Show Gist options
  • Select an option

  • Save Pinjontall94/52f2f6f9dad0702e23bf7437386c5ee2 to your computer and use it in GitHub Desktop.

Select an option

Save Pinjontall94/52f2f6f9dad0702e23bf7437386c5ee2 to your computer and use it in GitHub Desktop.
GNUstep Objective-C Dockerfile
FROM alpine:3.23
WORKDIR /app
ENV CMAKE_FLAGS "-DCMAKE_TOOLCHAT_PREFIX=llvm- -DCMAKE_C_COMPILER=/usr/bin/clang -DCMAKE_CXX_COMPILER=/usr/bin/clang++ -DCMAKE_OBJC_COMPILER=/usr/bin/clang -DCMAKE_OBJCXX_COMPILER=/usr/bin/clang++"
RUN apk update && apk upgrade && apk add \
cmake git build-base llvm clang gcc-objc libobjc autoconf automake \
freetype-dev cairo-dev libxt-dev libxml2-dev libxslt-dev \
gnutls-dev icu-dev
COPY . /app
# Build gnustep-make
RUN git clone --branch make-2_9_3 https://github.com/gnustep/tools-make.git
RUN cd tools-make && ./configure --with-library-combo=ng-gnu-gnu && make && gmake install
RUN source /usr/local/share/GNUstep/Makefiles/GNUstep.sh
# Build libobjc2
RUN git clone --branch v2.3 --recurse-submodules https://github.com/gnustep/libobjc2.git
RUN cd libobjc2 && mkdir Build && cd Build && cmake $CMAKE_FLAGS .. && make && make install
# Build gnustep-base
RUN git clone --branch base-1_31_1 https://github.com/gnustep/libs-base.git
RUN cd libs-base && ./configure --disable-iconv && make && gmake install
# Build gnustep-back
RUN git clone --branch back-0_32_0 https://github.com/gnustep/libs-back.git
RUN cd libs-back && ./configure && make && gmake install
# Build gnustep-gui
RUN git clone --branch gui-0_32_0 https://github.com/gnustep/libs-gui.git
RUN cd libs-gui && ./configure && make && gmake install
ENTRYPOINT ["ash"]
@Pinjontall94
Copy link
Author

add curl-dev to deps

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment