In a past post I explained how to modify the Ufraw source code to support the Nikon D5100 SLR and create a Debian package. Now I show how to create a patched custom package for Archlinux, using the ABS (Archlinux Build System).
The general procedure is well explained in the ABS, Patching in ABS and PKGBUILD Archlinux wiki pages.
First, install the ABS and build utilities:
sudo pacman -S abs
sudo pacman -S base-devel
Configure the repositories that you want to be active and your name under PACKAGER directive in the files /etc/abs.conf and /etc/makepkg.conf
Download PKGBUILD for ufraw and create a copy in a working dir under your home dir:
pacman -Ss ufraw
sudo abs extra/gimp-ufraw
mkdir ~/abs
cp -r /var/abs/extra/gimp-ufraw ~/abs
cd ~/abs/extra/gimp-ufraw
Download the sources but without compiling them:
makepkg -o
Then make a copy of original sources in a parallel directory under src/. Modify (edit or copy from elsewhere) the sources in the copy:
cd src
cp -r ufraw-0.18 ufraw-0.18.new
cp ~/bin/ufraw-0.18/wb_presets.c ufraw-0.18.new
cp ~/bin/ufraw-0.18/dcraw.cc ufraw-0.18.new
Generate a patch file:
diff -aur ufraw-0.18 ufraw-0.18.new > ../gimp-ufraw.patch
Now edit file PKGBUILD to include the patch in the sources list, the md5sums and modify the build() function to apply the patch before compilation. This is how the PKGBUILD file looks after editing:
# [...]
source=(http://downloads.sourceforge.net/ufraw/ufraw-${pkgver}.tar.gz gimp-ufraw.patch)
md5sums=('454f40a402928998a82e2645d9265d96'
'7e24ddc5e0bf6ddd24a9968419586ffe')
sha1sums=('41c9ad7aa7f1cbb63a6b0b330b3599b18a7e8cd2'
'774bd13b4d9e3df7ffebcb46eb5a513ba25b6167')
build() {
cd "${srcdir}/ufraw-${pkgver}"
patch -Np1 -i ../gimp-ufraw.patch
./configure --prefix=/usr \
--enable-extras \
--enable-mime \
--enable-openmp
sed -i "s/-ffast-math -fomit-frame-pointer -W -Wall -O3/${CFLAGS}/" Makefile
make
}
Finally, create the package with makepkg and install it:
makepkg -g
sudo pacman -U gimp-ufraw-d5100-0.18-5-x86_64.pkg.tar.xz
Ufraw support for Nikon D5100
Ufraw is a very nice open source program to develop raw files from digital cameras. It imports a variety of camera raw file formats, in particular NEF files from Nikon cameras. But unfortunately, at current version (0.18) it doesn't support the Nikon D5100 files.
By using some web references (see below) I was able to modify the source code and compile the program myself so now it is capable of opening and converting the NEF files of this camera. It isn't difficult but I had to gather the needed information from several different web pages so I ...
read more