-
Notifications
You must be signed in to change notification settings - Fork 70
Build Guide 0.85
Disclaimer: NEXTSPACE is still in active development. Some steps in this guide may end with error on your setup. You have 2 choices:
- Help me to make project better by opening issue.
- Wait for release and install everything from tested packages.
Stay tuned, patient and hungry. :)
I’ve prepared some packages that are not part of NEXTSPACE. Although they are needed to compile NEXTSPACE from sources and run applications. Here is a brief description of them:
- fresh LLVM and Clang (llvm-libs, clang-libs, clang)
Note: CentOS Extras repository contains outdated version of clang - 3.4.2
- libdispatch - Grand Central Dispatch multithreading library from Apple. Compiled sources from Apple Swift repository.
- libobjc2 - GNUstep Objective-C runtime with support of Objective-C 2.0.
- nextspace-core - contains system related files configuration files:
- /etc - Xorg, linker (ld.so.conf.d), user shell profile (profile.d), UDisks2 (polkit and udev), home directory skeleton for newly created user;
- /Library/Preferences - GNUstep configuration file;
- /root - additional files for ‘root’ user. Essential for running Login application;
- /usr/NextSpace - initial NEXTSPACE directory hierarchy with some configuration files.
- nextspace-core-devel - contains prepared GNUstep Make.
- nextspace-gnustep (-devel) - contains patched GNUstep libraries and GORM. Version of GNUstep components represented in package name. For example, package nextspace-gnustep- 1.24.8 _ 0.24.1 -10.el7.centos.x86_64.rpm contains GNUstep Base 1.24.8, GNUstep GUI and Back 0.24.1.
Install NEXTSPACE as described in “Install Guide” wiki page.
Install the following development packages from the latest NEXTSPACE release with yum -y install
:
- llvm-libs
- clang-libs
- clang
- libdispatch-devel
- libobjc2-devel
- nextspace-core-devel
- nextspace-gnustep-devel
- Install
git
tool:# yum -y install git
- Log in as newly created user. And go to the directory where you want to place NEXTSPACE source code tree.
- Fetch sources from github:
$ git clone https://github.com/trunkmaster/nextspace.git
$ cd nextspace
- Take this step if you want GNUstep libraries with fresh patches:
- Install
patch
tool asroot
:# yum install patch
- Go to directory with GNUstep sources inside NEXTSPACE cloned repository:
$ cd Libraries/gnustep
- Install required development packages as `root`:
# yum install `grep "BuildRequires" nextspace-gnustep.spec | awk -c '{print $2}'`
- Extract GNUstep sources, apply patches to gnustep-gui and gnustep-back
$ tar zxvf gnustep-gui-0.25.0.tar.gz
$ patch -p0 < gnustep-gui-*.patch
$ tar zxvf gnustep-back-0.25.0.tar.gz
$ patch -p0 < gnustep-back-*.patch
- Build and install GNUstep GUI:
$ cd gnustep-gui-0.25.0
$ ./configure && make
$ su
# make install
# ldconfig
# exit
- Build and install GNUstep Back:
$ cd ../gnustep-back-0.25.0
$ ./configure --enable-server=x11 --enable-graphics=art --with-name=art
$ make
$ su
# make fonts=no install
# ldconfig
# exit
- Install
- Install BuildRequires packages listed in ‘nextspace-frameworks.spec’ inside Frameworks subdir:
# su
# cd <directory with nextspace sources/>Frameworks
# yum -y install `grep "BuildRequires" nextspace-frameworks.spec | awk -c '{print $2}'`
# exit
- Build and install frameworks
$ cd Frameworks
$ make
$ su
# make install
# ldconfig
- Install BuildRequires packages listed in ‘nextspace-desktop.spec’ inside Applications subdir:
# yum -y install `grep "BuildRequires" nextspace-applications.spec | awk -c '{print $2}'`
# exit
- Build and install applications:
$ cd ../Applications
$ make
$ su
# make install
- Restart login panel service
# systemctl restart loginwindow
- Xorg will be started and you should see Login panel. If not check your Xorg log (you may lack some drivers for your hardware).
Copyright (c) Sergii Stoian