2021-02-09 03:00:44 +01:00
|
|
|
{ lib
|
|
|
|
, stdenv
|
|
|
|
, fetchFromGitHub
|
2021-04-04 17:22:20 +02:00
|
|
|
, makeDesktopItem
|
|
|
|
, copyDesktopItems
|
2021-02-09 03:00:44 +01:00
|
|
|
, pkg-config
|
|
|
|
, gtk3
|
2021-06-10 04:57:09 +02:00
|
|
|
, alsa-lib
|
2021-02-09 03:00:44 +01:00
|
|
|
}:
|
|
|
|
|
|
|
|
stdenv.mkDerivation rec {
|
|
|
|
pname = "free42";
|
2021-07-31 00:19:22 +02:00
|
|
|
version = "3.0.6";
|
2021-02-09 03:00:44 +01:00
|
|
|
|
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "thomasokken";
|
|
|
|
repo = pname;
|
|
|
|
rev = "v${version}";
|
2021-07-31 00:19:22 +02:00
|
|
|
sha256 = "sha256-PIHokB7GlGtx1A0IqFX9+HA/Vab1CDpVS/qhk/y8Nzk=";
|
2021-02-09 03:00:44 +01:00
|
|
|
};
|
|
|
|
|
2021-04-04 17:22:20 +02:00
|
|
|
nativeBuildInputs = [ copyDesktopItems pkg-config ];
|
2021-06-10 04:57:09 +02:00
|
|
|
buildInputs = [ gtk3 alsa-lib ];
|
2021-02-09 03:00:44 +01:00
|
|
|
|
|
|
|
postPatch = ''
|
|
|
|
sed -i -e "s|/bin/ls|ls|" gtk/Makefile
|
|
|
|
'';
|
|
|
|
|
|
|
|
dontConfigure = true;
|
|
|
|
|
|
|
|
buildPhase = ''
|
|
|
|
runHook preBuild
|
|
|
|
make -C gtk cleaner
|
|
|
|
make --jobs=$NIX_BUILD_CORES -C gtk
|
|
|
|
make -C gtk clean
|
|
|
|
make --jobs=$NIX_BUILD_CORES -C gtk BCD_MATH=1
|
|
|
|
runHook postBuild
|
|
|
|
'';
|
|
|
|
|
|
|
|
preInstall = ''
|
|
|
|
install --directory $out/bin \
|
|
|
|
$out/share/doc/${pname} \
|
|
|
|
$out/share/${pname}/skins \
|
|
|
|
$out/share/icons/hicolor/48x48/apps \
|
|
|
|
$out/share/icons/hicolor/128x128/apps
|
|
|
|
'';
|
|
|
|
|
|
|
|
installPhase = ''
|
|
|
|
runHook preInstall
|
|
|
|
install -m755 gtk/free42dec gtk/free42bin $out/bin
|
|
|
|
install -m644 gtk/README $out/share/doc/${pname}/README-GTK
|
|
|
|
install -m644 README $out/share/doc/${pname}/README
|
|
|
|
|
|
|
|
install -m644 gtk/icon-48x48.xpm $out/share/icons/hicolor/48x48/apps
|
|
|
|
install -m644 gtk/icon-128x128.xpm $out/share/icons/hicolor/128x128/apps
|
|
|
|
install -m644 skins/* $out/share/${pname}/skins
|
|
|
|
runHook postInstall
|
|
|
|
'';
|
|
|
|
|
2021-04-04 17:22:20 +02:00
|
|
|
desktopItems = [
|
|
|
|
(makeDesktopItem {
|
|
|
|
name = "com.thomasokken.free42bin";
|
|
|
|
desktopName = "Free42Bin";
|
|
|
|
genericName = "Calculator";
|
|
|
|
exec = "free42bin";
|
|
|
|
type = "Application";
|
|
|
|
comment = meta.description;
|
|
|
|
categories = "Utility;Calculator;";
|
|
|
|
terminal = "false";
|
|
|
|
})
|
|
|
|
(makeDesktopItem {
|
|
|
|
name = "com.thomasokken.free42dec";
|
|
|
|
desktopName = "Free42Dec";
|
|
|
|
genericName = "Calculator";
|
|
|
|
exec = "free42dec";
|
|
|
|
type = "Application";
|
|
|
|
comment = meta.description;
|
|
|
|
categories = "Utility;Calculator;";
|
|
|
|
terminal = "false";
|
|
|
|
})
|
|
|
|
];
|
|
|
|
|
2021-02-09 03:00:44 +01:00
|
|
|
meta = with lib; {
|
|
|
|
homepage = "https://github.com/thomasokken/free42";
|
|
|
|
description = "A software clone of HP-42S Calculator";
|
|
|
|
license = licenses.gpl2Only;
|
2021-04-09 00:10:12 +02:00
|
|
|
maintainers = with maintainers; [ AndersonTorres plabadens ];
|
2021-02-09 03:00:44 +01:00
|
|
|
platforms = with platforms; unix;
|
|
|
|
};
|
|
|
|
}
|