[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: GNUstep on NixOS
From: |
Artyom Shalkhakov |
Subject: |
Re: GNUstep on NixOS |
Date: |
Tue, 2 Dec 2014 20:57:27 -0800 (PST) |
User-agent: |
G2/1.0 |
Hello Fred,
On Wednesday, December 3, 2014 3:50:35 AM UTC+6, Fred Kiefer wrote:
> Hi, would you mind to tell us about the hacks you needed to apply to get
> GNUstep and a few applications running on NixOS? Maybe some of these
> changes are of general interest.
>
I was hoping to fix those hacks soon. Here are a few obstacles to building
GNUstep apps on NixOS:
1. The Nix package manager keeps every package isolated and immutable. When
installing a new package, no other package can be modified, which is precisely
what gnustep-make breaks when it tries to write under
$GNUSTEP_MAKEFILES/Additional on [make install]. The solution that I'm thinking
of is to create two GNUstep.conf files (one for building, another for
installing), such that the package's files are to be installed correctly in
it's directory in the Nix store.
2. Prior to every build, Nix creates a clean-slate environment, so it must also
source $GNUSTEP_MAKEFILES/GNUstep.sh, but the paths determined at gnustep-make
configure time no longer are correct (for instance, additional makefiles will
be gathered and symlinked into a directory that is up to Nix to create), and so
must be fixed by creating a temporary GNUstep.conf file and passing it to the
GNUstep.sh script.
I also found that prior to running a program (I tried ProjectCenter and Gorm),
GNUstep.sh must be sourced too. I also updated $PATH, $LD_LIBRARY_PATH to
contain paths to some libraries.
> Cheers
> Fred
>
>
> Am 02.12.2014 um 05:23 schrieb Artyom Shalkhakov:
> > Hello all,
> >
> > I've been doing some work to make GNUstep available on NixOS. [1]
> >
> > NixOS [2] is a Linux distro based on Nix, the package manager which borrows
> > some concepts of purely functional programming to make builds reproducible.
> > Most importantly, it makes it easy for end-users to maintain separate
> > "enviroments" for different tasks.
> >
> > Currently, I managed to build and run ProjectCenter and Gorm with a few
> > hacks.
> >
> > I plan to create an environment for building and running GNUstep
> > applications. It will allow developers to get started with up-to-date
> > GNUstep system with few command-line invocations.
> >
> > Cheers,
> > Artyom Shalkhakov
> >
> > [1] https://github.com/ashalkhakov/nixpkgs/tree/gnustep
> > [2] http://nixos.org/
Cheers,
Artyom Shalkhakov