aboutsummaryrefslogtreecommitdiff
path: root/infra/libkookie/nixpkgs/pkgs/applications/science/math/geogebra/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'infra/libkookie/nixpkgs/pkgs/applications/science/math/geogebra/default.nix')
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/science/math/geogebra/default.nix89
1 files changed, 89 insertions, 0 deletions
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/science/math/geogebra/default.nix b/infra/libkookie/nixpkgs/pkgs/applications/science/math/geogebra/default.nix
new file mode 100644
index 000000000000..a6950ad3451c
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/applications/science/math/geogebra/default.nix
@@ -0,0 +1,89 @@
+{ stdenv, fetchurl, jre, makeDesktopItem, makeWrapper, unzip, language ? "en_US" }:
+let
+ pname = "geogebra";
+ version = "5-0-609-0";
+
+ srcIcon = fetchurl {
+ url = "http://static.geogebra.org/images/geogebra-logo.svg";
+ sha256 = "01sy7ggfvck350hwv0cla9ynrvghvssqm3c59x4q5lwsxjsxdpjm";
+ };
+
+ desktopItem = makeDesktopItem {
+ name = "geogebra";
+ exec = "geogebra";
+ icon = "geogebra";
+ desktopName = "Geogebra";
+ genericName = "Geogebra";
+ comment = meta.description;
+ categories = "Education;Science;Math;";
+ mimeType = "application/vnd.geogebra.file;application/vnd.geogebra.tool;";
+ };
+
+ meta = with stdenv.lib; {
+ description = "Dynamic mathematics software with graphics, algebra and spreadsheets";
+ longDescription = ''
+ Dynamic mathematics software for all levels of education that brings
+ together geometry, algebra, spreadsheets, graphing, statistics and
+ calculus in one easy-to-use package.
+ '';
+ homepage = "https://www.geogebra.org/";
+ maintainers = with maintainers; [ ma27 ];
+ license = with licenses; [ gpl3 cc-by-nc-sa-30 geogebra ];
+ platforms = with platforms; linux ++ darwin;
+ hydraPlatforms = [];
+ };
+
+ linuxPkg = stdenv.mkDerivation {
+ inherit pname version meta srcIcon desktopItem;
+
+ preferLocalBuild = true;
+
+ src = fetchurl {
+ urls = [
+ "https://download.geogebra.org/installers/5.0/GeoGebra-Linux-Portable-${version}.tar.bz2"
+ "http://web.archive.org/web/20201022200454/https://download.geogebra.org/installers/5.0/GeoGebra-Linux-Portable-${version}.tar.bz2"
+ ];
+ sha256 = "0xbhg8hm3dqm3qkraj48pqwslrnjyxpq9mcgylr2m8i1gmqw7xwf";
+ };
+
+ nativeBuildInputs = [ makeWrapper ];
+
+ installPhase = ''
+ install -D geogebra/* -t "$out/libexec/geogebra/"
+
+ makeWrapper "$out/libexec/geogebra/geogebra" "$out/bin/geogebra" \
+ --set JAVACMD "${jre}/bin/java" \
+ --set GG_PATH "$out/libexec/geogebra" \
+ --add-flags "--language=${language}"
+
+ install -Dm644 "${desktopItem}/share/applications/"* \
+ -t $out/share/applications/
+
+ install -Dm644 "${srcIcon}" \
+ "$out/share/icons/hicolor/scalable/apps/geogebra.svg"
+ '';
+ };
+
+ darwinPkg = stdenv.mkDerivation {
+ inherit pname version meta;
+
+ preferLocalBuild = true;
+
+ src = fetchurl {
+ url = "https://download.geogebra.org/installers/5.0/GeoGebra-MacOS-Installer-withJava-${version}.zip";
+ sha256 = "16fgqwxz31cfmia0pyzpk05aqzrqr11sjbw37q9zb3xfh3p1r4gz";
+ };
+
+ dontUnpack = true;
+
+ nativeBuildInputs = [ unzip ];
+
+ installPhase = ''
+ install -dm755 $out/Applications
+ unzip $src -d $out/Applications
+ '';
+ };
+in
+if stdenv.isDarwin
+then darwinPkg
+else linuxPkg