python3Packages.orjson: Disable failing tests on 32 bit
[NixPkgs.git] / pkgs / development / tools / database / sqldeveloper / default.nix
blob655156c176c6bb34e40ee4e6094e168f4bdc3a7a
1 { lib, stdenv, makeDesktopItem, makeWrapper, requireFile, unzip, jdk }:
3 let
4   version = "20.4.0.379.2205";
6   desktopItem = makeDesktopItem {
7     name = "sqldeveloper";
8     exec = "sqldeveloper";
9     icon = "sqldeveloper";
10     desktopName = "Oracle SQL Developer";
11     genericName = "Oracle SQL Developer";
12     comment = "Oracle's Oracle DB GUI client";
13     categories = [ "Development" ];
14   };
16   stdenv.mkDerivation {
18   inherit version;
19   pname = "sqldeveloper";
21   src = requireFile rec {
22     name = "sqldeveloper-${version}-no-jre.zip";
23     url = "https://www.oracle.com/tools/downloads/sqldev-downloads.html";
24     message = ''
25       This Nix expression requires that ${name} already be part of the store. To
26       obtain it you need to
28       - navigate to ${url}
29       - make sure that it says "Version ${version}" above the list of downloads
30         - if it does not, click on the "Previous Version" link below the downloads
31           and repeat until the version is correct. This is necessarry because as the
32           time of this writing there exists no permanent link for the current version
33           yet.
34           Also consider updating this package yourself (you probably just need to
35           change the `version` variable and update the sha256 to the one of the
36           new file) or opening an issue at the nixpkgs repo.
37       - accept the license agreement
38       - download the file listed under "Other Platforms"
39       - sign in or create an oracle account if neccessary
41       and then add the file to the Nix store using either:
43         nix-store --add-fixed sha256 ${name}
45       or
47         nix-prefetch-url --type sha256 file:///path/to/${name}
48     '';
49     sha256 = "1h53gl41ydr7kim6q9ckg3xyhb0rhmwj7jnis0xz6vms52b3h59k";
50   };
52   nativeBuildInputs = [ makeWrapper unzip ];
54   unpackCmd = "unzip $curSrc";
56   installPhase = ''
57     mkdir -p $out/libexec $out/share/{applications,pixmaps}
58     mv * $out/libexec/
60     mv $out/libexec/icon.png $out/share/pixmaps/sqldeveloper.png
61     cp ${desktopItem}/share/applications/* $out/share/applications
63     makeWrapper $out/libexec/sqldeveloper/bin/sqldeveloper $out/bin/sqldeveloper \
64       --set JAVA_HOME ${jdk.home} \
65       --chdir "$out/libexec/sqldeveloper/bin"
66   '';
68   meta = with lib; {
69     description = "Oracle's Oracle DB GUI client";
70     longDescription = ''
71       Oracle SQL Developer is a free integrated development environment that
72       simplifies the development and management of Oracle Database in both
73       traditional and Cloud deployments. SQL Developer offers complete
74       end-to-end development of your PL/SQL applications, a worksheet for
75       running queries and scripts, a DBA console for managing the database,
76       a reports interface, a complete data modeling solution, and a migration
77       platform for moving your 3rd party databases to Oracle.
78     '';
79     homepage = "http://www.oracle.com/technetwork/developer-tools/sql-developer/overview/";
80     license = licenses.unfree;
81     platforms = [ "x86_64-linux" ];
82     maintainers = with maintainers; [ ardumont ];
83   };